diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/ocsp/ocsp_vfy.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/lib/libcrypto/ocsp/ocsp_vfy.c b/src/lib/libcrypto/ocsp/ocsp_vfy.c index f28571b92f..80dd54e958 100644 --- a/src/lib/libcrypto/ocsp/ocsp_vfy.c +++ b/src/lib/libcrypto/ocsp/ocsp_vfy.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ocsp_vfy.c,v 1.13 2016/07/05 00:21:47 beck Exp $ */ | 1 | /* $OpenBSD: ocsp_vfy.c,v 1.14 2016/11/05 13:27:53 miod Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -130,7 +130,12 @@ OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, X509_STORE *st, | |||
| 130 | goto end; | 130 | goto end; |
| 131 | } | 131 | } |
| 132 | 132 | ||
| 133 | X509_STORE_CTX_set_purpose(&ctx, X509_PURPOSE_OCSP_HELPER); | 133 | if (X509_STORE_CTX_set_purpose(&ctx, |
| 134 | X509_PURPOSE_OCSP_HELPER) == 0) { | ||
| 135 | X509_STORE_CTX_cleanup(&ctx); | ||
| 136 | ret = -1; | ||
| 137 | goto end; | ||
| 138 | } | ||
| 134 | ret = X509_verify_cert(&ctx); | 139 | ret = X509_verify_cert(&ctx); |
| 135 | chain = X509_STORE_CTX_get1_chain(&ctx); | 140 | chain = X509_STORE_CTX_get1_chain(&ctx); |
| 136 | X509_STORE_CTX_cleanup(&ctx); | 141 | X509_STORE_CTX_cleanup(&ctx); |
| @@ -423,8 +428,13 @@ OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *store, | |||
| 423 | return 0; | 428 | return 0; |
| 424 | } | 429 | } |
| 425 | 430 | ||
| 426 | X509_STORE_CTX_set_purpose(&ctx, X509_PURPOSE_OCSP_HELPER); | 431 | if (X509_STORE_CTX_set_purpose(&ctx, |
| 427 | X509_STORE_CTX_set_trust(&ctx, X509_TRUST_OCSP_REQUEST); | 432 | X509_PURPOSE_OCSP_HELPER) == 0 || |
| 433 | X509_STORE_CTX_set_trust(&ctx, | ||
| 434 | X509_TRUST_OCSP_REQUEST) == 0) { | ||
| 435 | X509_STORE_CTX_cleanup(&ctx); | ||
| 436 | return 0; | ||
| 437 | } | ||
| 428 | ret = X509_verify_cert(&ctx); | 438 | ret = X509_verify_cert(&ctx); |
| 429 | X509_STORE_CTX_cleanup(&ctx); | 439 | X509_STORE_CTX_cleanup(&ctx); |
| 430 | if (ret <= 0) { | 440 | if (ret <= 0) { |
