diff options
Diffstat (limited to 'apps/pkcs8.c')
-rw-r--r-- | apps/pkcs8.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/pkcs8.c b/apps/pkcs8.c index 1c459e7bc2..674007498a 100644 --- a/apps/pkcs8.c +++ b/apps/pkcs8.c @@ -75,7 +75,7 @@ int pkcs8_main(int argc, char **argv) PKCS8_PRIV_KEY_INFO *p8inf = NULL; X509_SIG *p8 = NULL; const EVP_CIPHER *cipher = NULL; - char *infile = NULL, *outfile = NULL; + char *infile = NULL, *outfile = NULL, *ciphername = NULL; char *passinarg = NULL, *passoutarg = NULL, *prog; #ifndef OPENSSL_NO_UI_CONSOLE char pass[APP_PASS_LEN]; @@ -136,8 +136,7 @@ int pkcs8_main(int argc, char **argv) traditional = 1; break; case OPT_V2: - if (!opt_cipher(opt_arg(), &cipher)) - goto opthelp; + ciphername = opt_arg(); break; case OPT_V1: pbe_nid = OBJ_txt2nid(opt_arg()); @@ -201,6 +200,10 @@ int pkcs8_main(int argc, char **argv) private = 1; app_RAND_load(); + if (ciphername != NULL) { + if (!opt_cipher(ciphername, &cipher)) + goto opthelp; + } if (!app_passwd(passinarg, passoutarg, &passin, &passout)) { BIO_printf(bio_err, "Error getting passwords\n"); |