summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/x509/x509_verify.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/lib/libcrypto/x509/x509_verify.c b/src/lib/libcrypto/x509/x509_verify.c
index ca32a93e50..c212ab4e8a 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.60 2022/08/05 14:46:52 beck Exp $ */ 1/* $OpenBSD: x509_verify.c,v 1.60.2.1 2022/10/20 09:45:18 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 *
@@ -494,6 +494,15 @@ x509_verify_ctx_add_chain(struct x509_verify_ctx *ctx,
494 if (!x509_verify_ctx_validate_legacy_chain(ctx, chain, depth)) 494 if (!x509_verify_ctx_validate_legacy_chain(ctx, chain, depth))
495 return 0; 495 return 0;
496 496
497 /* Verify the leaf certificate and store any resulting error. */
498 if (!x509_verify_cert_valid(ctx, leaf, NULL))
499 return 0;
500 if (!x509_verify_cert_hostname(ctx, leaf, name))
501 return 0;
502 if (ctx->error_depth == 0 &&
503 ctx->error != X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY)
504 chain->cert_errors[0] = ctx->error;
505
497 /* 506 /*
498 * In the non-legacy code, extensions and purpose are dealt 507 * In the non-legacy code, extensions and purpose are dealt
499 * with as the chain is built. 508 * with as the chain is built.
@@ -508,16 +517,11 @@ x509_verify_ctx_add_chain(struct x509_verify_ctx *ctx,
508 return x509_verify_cert_error(ctx, last, depth, 517 return x509_verify_cert_error(ctx, last, depth,
509 X509_V_ERR_OUT_OF_MEM, 0); 518 X509_V_ERR_OUT_OF_MEM, 0);
510 } 519 }
511
512 if (!x509_verify_cert_valid(ctx, leaf, NULL))
513 return 0;
514
515 if (!x509_verify_cert_hostname(ctx, leaf, name))
516 return 0;
517
518 ctx->chains_count++; 520 ctx->chains_count++;
521
519 ctx->error = X509_V_OK; 522 ctx->error = X509_V_OK;
520 ctx->error_depth = depth; 523 ctx->error_depth = depth;
524
521 return 1; 525 return 1;
522} 526}
523 527