summaryrefslogtreecommitdiffstats
path: root/src/tool/speed.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/speed.cc')
-rw-r--r--src/tool/speed.cc33
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;