diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-12-19 15:01:32 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-12-19 15:01:32 +0000 |
commit | 54a0076e94dc411e3569bb069dd6d53f95787575 (patch) | |
tree | 66c4d1d9f2f263aba087de68172eaeb31078c500 | |
parent | f8cab37bc1ebcfb06cd7bb3e51836cd8f1625fa2 (diff) |
Check chain is not NULL before assuming we have a validated chain. The
modification to the OCSP helper purpose breaks normal OCSP verification. It is
no longer needed now we can trust partial chains.
-rw-r--r-- | crypto/ocsp/ocsp_vfy.c | 2 | ||||
-rw-r--r-- | crypto/x509v3/v3_purp.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/crypto/ocsp/ocsp_vfy.c b/crypto/ocsp/ocsp_vfy.c index 2f7f59c59a..f7cd36beb7 100644 --- a/crypto/ocsp/ocsp_vfy.c +++ b/crypto/ocsp/ocsp_vfy.c @@ -109,7 +109,7 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, * (If the signer is a root certificate, X509_verify_cert() * would fail anyway!) */ - if (chain == certs) goto verified_chain; + if (chain && chain == certs) goto verified_chain; /* If we trust some "other" certificates, allow partial * chains (because some of them might be diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c index b1eeaf9cf1..0774cbf827 100644 --- a/crypto/x509v3/v3_purp.c +++ b/crypto/x509v3/v3_purp.c @@ -87,7 +87,7 @@ static X509_PURPOSE xstandard[] = { {X509_PURPOSE_SMIME_ENCRYPT, X509_TRUST_EMAIL, 0, check_purpose_smime_encrypt, "S/MIME encryption", "smimeencrypt", NULL}, {X509_PURPOSE_CRL_SIGN, X509_TRUST_COMPAT, 0, check_purpose_crl_sign, "CRL signing", "crlsign", NULL}, {X509_PURPOSE_ANY, X509_TRUST_DEFAULT, 0, no_check, "Any Purpose", "any", NULL}, - {X509_PURPOSE_OCSP_HELPER, X509_TRUST_OCSP_SIGN, 0, ocsp_helper, "OCSP helper", "ocsphelper", NULL}, + {X509_PURPOSE_OCSP_HELPER, X509_TRUST_COMPAT, 0, ocsp_helper, "OCSP helper", "ocsphelper", NULL}, {X509_PURPOSE_TIMESTAMP_SIGN, X509_TRUST_TSA, 0, check_purpose_timestamp_sign, "Time Stamp signing", "timestampsign", NULL}, }; |