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 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,6 +149,7 @@ opthelp: | |||
|     if (out == NULL) | ||||
|         goto end; | ||||
| 
 | ||||
|     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(); | ||||
|  | @ -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) | ||||
|  |  | |||
|  | @ -29,6 +29,7 @@ B<openssl> B<genrsa> | |||
| [B<-writerand file>] | ||||
| [B<-engine id>] | ||||
| [B<-primes num>] | ||||
| [B<-verbose>] | ||||
| [B<numbits>] | ||||
| 
 | ||||
| =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' | ||||
| RSA key, which is defined in RFC 8017. | ||||
| 
 | ||||
| =item B<-verbose> | ||||
| 
 | ||||
| Print extra details about the operations being performed. | ||||
| 
 | ||||
| =item B<numbits> | ||||
| 
 | ||||
| The size of the private key to generate in bits. This must be the last option | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue