mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
Fix verify_callback in the openssl s_client/s_server app
We need to check that error cert is available before printing its data Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com> Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18805)
This commit is contained in:
parent
23757b61d4
commit
fad0f80eff
@ -79,22 +79,28 @@ int verify_callback(int ok, X509_STORE_CTX *ctx)
|
||||
}
|
||||
switch (err) {
|
||||
case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:
|
||||
BIO_puts(bio_err, "issuer= ");
|
||||
X509_NAME_print_ex(bio_err, X509_get_issuer_name(err_cert),
|
||||
0, get_nameopt());
|
||||
BIO_puts(bio_err, "\n");
|
||||
if (err_cert != NULL) {
|
||||
BIO_puts(bio_err, "issuer= ");
|
||||
X509_NAME_print_ex(bio_err, X509_get_issuer_name(err_cert),
|
||||
0, get_nameopt());
|
||||
BIO_puts(bio_err, "\n");
|
||||
}
|
||||
break;
|
||||
case X509_V_ERR_CERT_NOT_YET_VALID:
|
||||
case X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD:
|
||||
BIO_printf(bio_err, "notBefore=");
|
||||
ASN1_TIME_print(bio_err, X509_get0_notBefore(err_cert));
|
||||
BIO_printf(bio_err, "\n");
|
||||
if (err_cert != NULL) {
|
||||
BIO_printf(bio_err, "notBefore=");
|
||||
ASN1_TIME_print(bio_err, X509_get0_notBefore(err_cert));
|
||||
BIO_printf(bio_err, "\n");
|
||||
}
|
||||
break;
|
||||
case X509_V_ERR_CERT_HAS_EXPIRED:
|
||||
case X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD:
|
||||
BIO_printf(bio_err, "notAfter=");
|
||||
ASN1_TIME_print(bio_err, X509_get0_notAfter(err_cert));
|
||||
BIO_printf(bio_err, "\n");
|
||||
if (err_cert != NULL) {
|
||||
BIO_printf(bio_err, "notAfter=");
|
||||
ASN1_TIME_print(bio_err, X509_get0_notAfter(err_cert));
|
||||
BIO_printf(bio_err, "\n");
|
||||
}
|
||||
break;
|
||||
case X509_V_ERR_NO_EXPLICIT_POLICY:
|
||||
if (!verify_args.quiet)
|
||||
|
Loading…
Reference in New Issue
Block a user