From c43fa566ea3918ec3b468d214fd9eb80d79e0d0d Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Wed, 8 Aug 2018 11:51:23 -0600 Subject: genrsa: introduce -verbose option to enable output Other commands like 'req' support -verbose, so why not genrsa? Signed-off-by: Philip Prindeville Reviewed-by: Richard Levitte Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/6897) --- apps/genrsa.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/genrsa.c b/apps/genrsa.c index 6477bcd6f7..ebf9c55329 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -30,12 +30,14 @@ NON_EMPTY_TRANSLATION_UNIT # define DEFBITS 2048 # define DEFPRIMES 2 +static int verbose = 0; + static int genrsa_cb(int p, int n, BN_GENCB *cb); typedef enum OPTION_choice { OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, 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 } OPTION_CHOICE; @@ -52,6 +54,7 @@ const OPTIONS genrsa_options[] = { {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"}, # endif {"primes", OPT_PRIMES, 'p', "Specify number of primes"}, + {"verbose", OPT_VERBOSE, '-', "Verbose output"}, {NULL} }; @@ -115,6 +118,9 @@ opthelp: if (!opt_int(opt_arg(), &primes)) goto end; break; + case OPT_VERBOSE: + verbose = 1; + break; } } argc = opt_num_rest(); @@ -143,8 +149,9 @@ opthelp: if (out == NULL) goto end; - BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus (%d primes)\n", - num, primes); + if (verbose) + BIO_printf(bio_err, "Generating RSA private key, %d bit long modulus (%d primes)\n", + num, primes); rsa = eng ? RSA_new_method(eng) : RSA_new(); if (rsa == NULL) goto end; @@ -156,7 +163,7 @@ opthelp: RSA_get0_key(rsa, NULL, &e, NULL); hexe = BN_bn2hex(e); dece = BN_bn2dec(e); - if (hexe && dece) { + if (hexe && dece && verbose) { BIO_printf(bio_err, "e is %s (0x%s)\n", dece, hexe); } OPENSSL_free(hexe); @@ -186,6 +193,9 @@ static int genrsa_cb(int p, int n, BN_GENCB *cb) { char c = '*'; + if (!verbose) + return 1; + if (p == 0) c = '.'; if (p == 1) -- cgit v1.2.3