diff options
Diffstat (limited to 'src/tool/speed.cc')
-rw-r--r-- | src/tool/speed.cc | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/tool/speed.cc b/src/tool/speed.cc index 307b0b9..ab17c2f 100644 --- a/src/tool/speed.cc +++ b/src/tool/speed.cc @@ -36,9 +36,16 @@ #endif #include "../crypto/test/scoped_types.h" -#include "internal.h" +extern "C" { +// These values are DER encoded, RSA private keys. +extern const uint8_t kDERRSAPrivate2048[]; +extern size_t kDERRSAPrivate2048Len; +extern const uint8_t kDERRSAPrivate4096[]; +extern size_t kDERRSAPrivate4096Len; +} + // TimeResults represents the results of benchmarking a function. struct TimeResults { // num_calls is the number of function calls done in the time period. @@ -407,9 +414,9 @@ bool Speed(const std::vector<std::string> &args) { selected = args[0]; } - RSA *key = RSA_private_key_from_bytes(kDERRSAPrivate2048, - kDERRSAPrivate2048Len); - if (key == NULL) { + RSA *key = NULL; + const uint8_t *inp = kDERRSAPrivate2048; + if (NULL == d2i_RSAPrivateKey(&key, &inp, kDERRSAPrivate2048Len)) { fprintf(stderr, "Failed to parse RSA key.\n"); ERR_print_errors_fp(stderr); return false; @@ -420,22 +427,10 @@ bool Speed(const std::vector<std::string> &args) { } RSA_free(key); - key = RSA_private_key_from_bytes(kDERRSAPrivate3Prime2048, - kDERRSAPrivate3Prime2048Len); - if (key == NULL) { - fprintf(stderr, "Failed to parse RSA key.\n"); - ERR_print_errors_fp(stderr); - return false; - } + key = NULL; - if (!SpeedRSA("RSA 2048 (3 prime, e=3)", key, selected)) { - return false; - } - - RSA_free(key); - key = RSA_private_key_from_bytes(kDERRSAPrivate4096, - kDERRSAPrivate4096Len); - if (key == NULL) { + inp = kDERRSAPrivate4096; + if (NULL == d2i_RSAPrivateKey(&key, &inp, kDERRSAPrivate4096Len)) { fprintf(stderr, "Failed to parse 4096-bit RSA key.\n"); ERR_print_errors_fp(stderr); return 1; |