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).  | ||||
|  * All rights reserved.  | ||||
|  * | ||||
| @@ -147,6 +147,7 @@ read_key(ENGINE *engine, const char *rsa_key) | ||||
|  | ||||
| static int version_flag; | ||||
| static int help_flag; | ||||
| static int time_keygen; | ||||
| static char *time_key; | ||||
| static char *rsa_key; | ||||
| static char *id_flag; | ||||
| @@ -154,6 +155,8 @@ static char *id_flag; | ||||
| static struct getargs args[] = { | ||||
|     { "id",		0,	arg_string,	&id_flag, | ||||
|       "selects the engine id", 	"engine-id" }, | ||||
|     { "time-keygen",	0,	arg_flag,	&time_keygen, | ||||
|       "time rsa generation", NULL }, | ||||
|     { "time-key",	0,	arg_string,	&time_key, | ||||
|       "rsa key file", NULL }, | ||||
|     { "key",	0,	arg_string,	&rsa_key, | ||||
| @@ -214,6 +217,38 @@ main(int argc, char **argv) | ||||
|      | ||||
|     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) { | ||||
| 	const int size = 20; | ||||
| 	const int num = 128; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand