RSA: implemented -exponent

pull/73/head
Levi Rak 2017-08-14 17:00:37 -06:00
parent a8ae642523
commit ca8394c959
3 changed files with 34 additions and 2 deletions

View File

@ -33,6 +33,7 @@ enum {
IV,
ALL,
SIZE,
EXPONENT,
TIME,
VERIFY,
VERBOSE,
@ -63,6 +64,7 @@ static struct option long_options[] = {
{"iv", required_argument, 0, IV },
{"all", 0, 0, ALL },
{"size", required_argument, 0, SIZE },
{"exponent",required_argument, 0, EXPONENT },
{"time", required_argument, 0, TIME },
{"verify", 0, 0, VERIFY },
{"verbose", 0, 0, VERBOSE },

View File

@ -100,8 +100,10 @@ int main(int argc, char** argv)
case IV: break;
/* Opt to benchmark all available algorithms */
case ALL: break;
/* size for hash to output */
/* size for hash or RSA key to output */
case SIZE: break;
/* exponent for generating RSA key */
case EXPONENT: break;
/* Time to benchmark for 1-10 seconds optional default: 3s */
case TIME: break;
/* Verify results, used with -iv and -key */

View File

@ -175,8 +175,36 @@ int wolfCLU_genKeySetup(int argc, char** argv)
sizeArg = 2048;
}
/* get the size argument */
ret = wolfCLU_checkForArg("-exponent", 9, argc, argv);
if (ret > 0) {
if (argv[ret+1] != NULL) {
char* cur;
/* make sure it's an integer */
if (*argv[ret+1] == '\0') {
printf("Empty -exponent argument, using 65537\n");
expArg = 65537;
}
else {
for (cur = argv[ret+1]; *cur && isdigit(*cur); ++cur);
if (*cur == '\0') {
sizeArg = atoi(argv[ret+1]);
}
else {
printf("Invalid -exponent (%s), using 65537\n",
argv[ret+1]);
expArg = 65537;
}
}
}
} else {
printf("No -exponent <SIZE>\n");
printf("DEFAULT: use an exponent of 65537\n");
expArg = 65537;
}
ret = wolfCLU_genKey_RSA(&rng, keyOutFName, directiveArg,
formatArg, sizeArg, 65537);
formatArg, sizeArg, expArg);
#else
printf("Invalid option, RSA not enabled.\n");
printf("Please re-configure wolfSSL with --enable-rsa and "