Add timing info to rsa keygen.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@19744 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 Kungliga Tekniska H<>gskolan
|
* Copyright (c) 2006 - 2007 Kungliga Tekniska H<>gskolan
|
||||||
* (Royal Institute of Technology, Stockholm, Sweden).
|
* (Royal Institute of Technology, Stockholm, Sweden).
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
@@ -147,6 +147,7 @@ read_key(ENGINE *engine, const char *rsa_key)
|
|||||||
|
|
||||||
static int version_flag;
|
static int version_flag;
|
||||||
static int help_flag;
|
static int help_flag;
|
||||||
|
static int time_keygen;
|
||||||
static char *time_key;
|
static char *time_key;
|
||||||
static char *rsa_key;
|
static char *rsa_key;
|
||||||
static char *id_flag;
|
static char *id_flag;
|
||||||
@@ -154,6 +155,8 @@ static char *id_flag;
|
|||||||
static struct getargs args[] = {
|
static struct getargs args[] = {
|
||||||
{ "id", 0, arg_string, &id_flag,
|
{ "id", 0, arg_string, &id_flag,
|
||||||
"selects the engine id", "engine-id" },
|
"selects the engine id", "engine-id" },
|
||||||
|
{ "time-keygen", 0, arg_flag, &time_keygen,
|
||||||
|
"time rsa generation", NULL },
|
||||||
{ "time-key", 0, arg_string, &time_key,
|
{ "time-key", 0, arg_string, &time_key,
|
||||||
"rsa key file", NULL },
|
"rsa key file", NULL },
|
||||||
{ "key", 0, arg_string, &rsa_key,
|
{ "key", 0, arg_string, &rsa_key,
|
||||||
@@ -214,6 +217,38 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
printf("rsa %s\n", ENGINE_get_RSA(engine)->name);
|
printf("rsa %s\n", ENGINE_get_RSA(engine)->name);
|
||||||
|
|
||||||
|
if (time_keygen) {
|
||||||
|
struct timeval tv1, tv2;
|
||||||
|
const int num = 10;
|
||||||
|
BIGNUM *e;
|
||||||
|
|
||||||
|
rsa = RSA_new_method(engine);
|
||||||
|
|
||||||
|
e = BN_new();
|
||||||
|
BN_set_word(e, 0x10001);
|
||||||
|
|
||||||
|
gettimeofday(&tv1, NULL);
|
||||||
|
|
||||||
|
for (i = 0; i < num; i++) {
|
||||||
|
rsa = RSA_new_method(engine);
|
||||||
|
if (RSA_generate_key_ex(rsa, 1024, e, NULL) != 1)
|
||||||
|
errx(1, "RSA_generate_key_ex");
|
||||||
|
RSA_free(rsa);
|
||||||
|
}
|
||||||
|
|
||||||
|
gettimeofday(&tv2, NULL);
|
||||||
|
timevalsub(&tv2, &tv1);
|
||||||
|
|
||||||
|
printf("time %lu.%06lu\n",
|
||||||
|
(unsigned long)tv2.tv_sec,
|
||||||
|
(unsigned long)tv2.tv_usec);
|
||||||
|
|
||||||
|
BN_free(e);
|
||||||
|
ENGINE_finish(engine);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (time_key) {
|
if (time_key) {
|
||||||
const int size = 20;
|
const int size = 20;
|
||||||
const int num = 128;
|
const int num = 128;
|
||||||
|
Reference in New Issue
Block a user