diff options
-rw-r--r-- | src/lib/libcrypto/x509/x509_verify.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/libcrypto/x509/x509_verify.c b/src/lib/libcrypto/x509/x509_verify.c index d3534879b8..5dcec27542 100644 --- a/src/lib/libcrypto/x509/x509_verify.c +++ b/src/lib/libcrypto/x509/x509_verify.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_verify.c,v 1.70 2024/06/07 06:21:40 tb Exp $ */ | 1 | /* $OpenBSD: x509_verify.c,v 1.71 2025/02/08 01:01:31 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2020-2021 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2020-2021 Bob Beck <beck@openbsd.org> |
4 | * | 4 | * |
@@ -539,8 +539,11 @@ x509_verify_parent_signature(X509 *parent, X509 *child, int *error) | |||
539 | int ret = 0; | 539 | int ret = 0; |
540 | 540 | ||
541 | /* Use cached value if we have it */ | 541 | /* Use cached value if we have it */ |
542 | if ((cached = x509_issuer_cache_find(parent->hash, child->hash)) >= 0) | 542 | if ((cached = x509_issuer_cache_find(parent->hash, child->hash)) >= 0) { |
543 | if (cached == 0) | ||
544 | *error = X509_V_ERR_CERT_SIGNATURE_FAILURE; | ||
543 | return cached; | 545 | return cached; |
546 | } | ||
544 | 547 | ||
545 | /* Check signature. Did parent sign child? */ | 548 | /* Check signature. Did parent sign child? */ |
546 | if ((pkey = X509_get_pubkey(parent)) == NULL) { | 549 | if ((pkey = X509_get_pubkey(parent)) == NULL) { |