mirror of https://github.com/openssl/openssl.git
genrsa: introduce -verbose option to enable output
Other commands like 'req' support -verbose, so why not genrsa? Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/6897)
This commit is contained in:
parent
39147079fc
commit
c43fa566ea
|
|
@ -30,12 +30,14 @@ NON_EMPTY_TRANSLATION_UNIT
|
||||||
# define DEFBITS 2048
|
# define DEFBITS 2048
|
||||||
# define DEFPRIMES 2
|
# define DEFPRIMES 2
|
||||||
|
|
||||||
|
static int verbose = 0;
|
||||||
|
|
||||||
static int genrsa_cb(int p, int n, BN_GENCB *cb);
|
static int genrsa_cb(int p, int n, BN_GENCB *cb);
|
||||||
|
|
||||||
typedef enum OPTION_choice {
|
typedef enum OPTION_choice {
|
||||||
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
|
OPT_ERR = -1, OPT_EOF = 0, OPT_HELP,
|
||||||
OPT_3, OPT_F4, OPT_ENGINE,
|
OPT_3, OPT_F4, OPT_ENGINE,
|
||||||
OPT_OUT, OPT_PASSOUT, OPT_CIPHER, OPT_PRIMES,
|
OPT_OUT, OPT_PASSOUT, OPT_CIPHER, OPT_PRIMES, OPT_VERBOSE,
|
||||||
OPT_R_ENUM
|
OPT_R_ENUM
|
||||||
} OPTION_CHOICE;
|
} OPTION_CHOICE;
|
||||||
|
|
||||||
|
|
@ -52,6 +54,7 @@ const OPTIONS genrsa_options[] = {
|
||||||
{"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"},
|
{"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"},
|
||||||
# endif
|
# endif
|
||||||
{"primes", OPT_PRIMES, 'p', "Specify number of primes"},
|
{"primes", OPT_PRIMES, 'p', "Specify number of primes"},
|
||||||
|
{"verbose", OPT_VERBOSE, '-', "Verbose output"},
|
||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -115,6 +118,9 @@ opthelp:
|
||||||
if (!opt_int(opt_arg(), &primes))
|
if (!opt_int(opt_arg(), &primes))
|
||||||
goto end;
|
goto end;
|
||||||
break;
|
break;
|
||||||
|
case OPT_VERBOSE:
|
||||||
|
verbose = 1;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
argc = opt_num_rest();
|
argc = opt_num_rest();
|
||||||
|
|
@ -143,6 +149,7 @@ opthelp:
|
||||||
if (out == NULL)
|
if (out == NULL)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus (%d primes)\n",
|
BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus (%d primes)\n",
|
||||||
num, primes);
|
num, primes);
|
||||||
rsa = eng ? RSA_new_method(eng) : RSA_new();
|
rsa = eng ? RSA_new_method(eng) : RSA_new();
|
||||||
|
|
@ -156,7 +163,7 @@ opthelp:
|
||||||
RSA_get0_key(rsa, NULL, &e, NULL);
|
RSA_get0_key(rsa, NULL, &e, NULL);
|
||||||
hexe = BN_bn2hex(e);
|
hexe = BN_bn2hex(e);
|
||||||
dece = BN_bn2dec(e);
|
dece = BN_bn2dec(e);
|
||||||
if (hexe && dece) {
|
if (hexe && dece && verbose) {
|
||||||
BIO_printf(bio_err, "e is %s (0x%s)\n", dece, hexe);
|
BIO_printf(bio_err, "e is %s (0x%s)\n", dece, hexe);
|
||||||
}
|
}
|
||||||
OPENSSL_free(hexe);
|
OPENSSL_free(hexe);
|
||||||
|
|
@ -186,6 +193,9 @@ static int genrsa_cb(int p, int n, BN_GENCB *cb)
|
||||||
{
|
{
|
||||||
char c = '*';
|
char c = '*';
|
||||||
|
|
||||||
|
if (!verbose)
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (p == 0)
|
if (p == 0)
|
||||||
c = '.';
|
c = '.';
|
||||||
if (p == 1)
|
if (p == 1)
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ B<openssl> B<genrsa>
|
||||||
[B<-writerand file>]
|
[B<-writerand file>]
|
||||||
[B<-engine id>]
|
[B<-engine id>]
|
||||||
[B<-primes num>]
|
[B<-primes num>]
|
||||||
|
[B<-verbose>]
|
||||||
[B<numbits>]
|
[B<numbits>]
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
@ -91,6 +92,10 @@ parameter must be a positive integer that is greater than 1 and less than 16.
|
||||||
If B<num> is greater than 2, then the generated key is called a 'multi-prime'
|
If B<num> is greater than 2, then the generated key is called a 'multi-prime'
|
||||||
RSA key, which is defined in RFC 8017.
|
RSA key, which is defined in RFC 8017.
|
||||||
|
|
||||||
|
=item B<-verbose>
|
||||||
|
|
||||||
|
Print extra details about the operations being performed.
|
||||||
|
|
||||||
=item B<numbits>
|
=item B<numbits>
|
||||||
|
|
||||||
The size of the private key to generate in bits. This must be the last option
|
The size of the private key to generate in bits. This must be the last option
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue