From: Dr. Stephen Henson Date: Mon, 17 Nov 2014 16:30:51 +0000 (+0000) Subject: Fix excert logic. X-Git-Tag: OpenSSL_1_0_2-pre-reformat~126 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=786370b1b09b919d9306f27336e13783e4fe3fd0;p=openssl Fix excert logic. If no keyfile has been specified use the certificate file instead. Fix typo: we need to check the chain is not NULL, not the chain file. Reviewed-by: Matt Caswell --- diff --git a/apps/s_cb.c b/apps/s_cb.c index ed877af122..c6c721ebe1 100644 --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -1402,9 +1402,15 @@ int load_excert(SSL_EXCERT **pexc, BIO *err) if (!exc->cert) return 0; if (exc->keyfile) - exc->keyfile = exc->certfile; - exc->key = load_key(err, exc->certfile, exc->certform, 0, - NULL, NULL, "Server Certificate"); + { + exc->key = load_key(err, exc->keyfile, exc->keyform, + 0, NULL, NULL, "Server Key"); + } + else + { + exc->key = load_key(err, exc->certfile, exc->certform, + 0, NULL, NULL, "Server Key"); + } if (!exc->key) return 0; if (exc->chainfile) @@ -1413,7 +1419,7 @@ int load_excert(SSL_EXCERT **pexc, BIO *err) exc->chainfile, FORMAT_PEM, NULL, NULL, "Server Chain"); - if (!exc->chainfile) + if (!exc->chain) return 0; } }