RSA: implement -size
parent
b7275ffc1b
commit
a8ae642523
|
@ -123,8 +123,14 @@ int wolfCLU_genKeySetup(int argc, char** argv)
|
||||||
#endif /* HAVE_ECC */
|
#endif /* HAVE_ECC */
|
||||||
} else if (XSTRNCMP(keyType, "rsa", 3) == 0) {
|
} else if (XSTRNCMP(keyType, "rsa", 3) == 0) {
|
||||||
#ifndef NO_RSA
|
#ifndef NO_RSA
|
||||||
|
/* RSA flags */
|
||||||
int directiveArg;
|
int directiveArg;
|
||||||
|
int sizeArg;
|
||||||
|
int expArg;
|
||||||
|
|
||||||
printf("generate RSA key\n");
|
printf("generate RSA key\n");
|
||||||
|
|
||||||
|
/* get the directive argument */
|
||||||
ret = wolfCLU_checkForArg("-output", 7, argc, argv);
|
ret = wolfCLU_checkForArg("-output", 7, argc, argv);
|
||||||
if (ret > 0) {
|
if (ret > 0) {
|
||||||
if (argv[ret+1] != NULL) {
|
if (argv[ret+1] != NULL) {
|
||||||
|
@ -140,8 +146,37 @@ int wolfCLU_genKeySetup(int argc, char** argv)
|
||||||
printf("DEFAULT: output public and private key pair\n");
|
printf("DEFAULT: output public and private key pair\n");
|
||||||
directiveArg = PRIV_AND_PUB;
|
directiveArg = PRIV_AND_PUB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* get the size argument */
|
||||||
|
ret = wolfCLU_checkForArg("-size", 5, 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 -size argument, using 2048\n");
|
||||||
|
sizeArg = 2048;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
for (cur = argv[ret+1]; *cur && isdigit(*cur); ++cur);
|
||||||
|
if (*cur == '\0') {
|
||||||
|
sizeArg = atoi(argv[ret+1]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf("Invalid -size (%s), using 2048\n",
|
||||||
|
argv[ret+1]);
|
||||||
|
sizeArg = 2048;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
printf("No -size <SIZE>\n");
|
||||||
|
printf("DEFAULT: use a 2048 RSA key\n");
|
||||||
|
sizeArg = 2048;
|
||||||
|
}
|
||||||
|
|
||||||
ret = wolfCLU_genKey_RSA(&rng, keyOutFName, directiveArg,
|
ret = wolfCLU_genKey_RSA(&rng, keyOutFName, directiveArg,
|
||||||
formatArg, 2048, 65537);
|
formatArg, sizeArg, 65537);
|
||||||
#else
|
#else
|
||||||
printf("Invalid option, RSA not enabled.\n");
|
printf("Invalid option, RSA not enabled.\n");
|
||||||
printf("Please re-configure wolfSSL with --enable-rsa and "
|
printf("Please re-configure wolfSSL with --enable-rsa and "
|
||||||
|
|
Loading…
Reference in New Issue