diff options
author | Viktor Dukhovni <openssl-users@dukhovni.org> | 2015-12-13 02:51:44 -0500 |
---|---|---|
committer | Viktor Dukhovni <openssl-users@dukhovni.org> | 2015-12-13 20:13:49 -0500 |
commit | 7eff6aa0d627c2bdbce0493bdb029e477a8caf1e (patch) | |
tree | ec211202a6ba2bc4079bef4a9b5168d2d83a7f86 /apps/pkey.c | |
parent | b9749432346f69b29d82070041e71b237d718ce7 (diff) | |
download | openssl-7eff6aa0d627c2bdbce0493bdb029e477a8caf1e.tar.gz |
Avoid erroneous "assert(private)" failures.
When processing a public key input via "-pubin", "private" was
sometimes erroneously set, or else not set and incorrectly asserted.
Reviewed-by: Rich salz <rsalz@openssl.org>
Diffstat (limited to 'apps/pkey.c')
-rw-r--r-- | apps/pkey.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/apps/pkey.c b/apps/pkey.c index 694cdd12c7..40db6f57f9 100644 --- a/apps/pkey.c +++ b/apps/pkey.c @@ -182,18 +182,20 @@ int pkey_main(int argc, char **argv) if (!noout) { if (outformat == FORMAT_PEM) { - assert(private); if (pubout) PEM_write_bio_PUBKEY(out, pkey); - else + else { + assert(private); PEM_write_bio_PrivateKey(out, pkey, cipher, NULL, 0, NULL, passout); + } } else if (outformat == FORMAT_ASN1) { - assert(private); if (pubout) i2d_PUBKEY_bio(out, pkey); - else + else { + assert(private); i2d_PrivateKey_bio(out, pkey); + } } else { BIO_printf(bio_err, "Bad format specified for key\n"); goto end; |