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
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand