summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x509_vfy.c
diff options
context:
space:
mode:
authorbeck <>2021-11-24 05:38:12 +0000
committerbeck <>2021-11-24 05:38:12 +0000
commit423c3bdfa824af138953ed7df2ece97a5f5fbcab (patch)
treeaa24e5059056bbf6faad312217d9a1a414b6b213 /src/lib/libcrypto/x509/x509_vfy.c
parent762fac1fce36c5a65717448f5452ff0495f51406 (diff)
downloadopenbsd-423c3bdfa824af138953ed7df2ece97a5f5fbcab.tar.gz
openbsd-423c3bdfa824af138953ed7df2ece97a5f5fbcab.tar.bz2
openbsd-423c3bdfa824af138953ed7df2ece97a5f5fbcab.zip
In some situations, the verifier would discard the error on an unvalidated
certificte chain. This would happen when the verification callback was in use, instructing the verifier to continue unconditionally. This could lead to incorrect decisions being made in software.
Diffstat (limited to 'src/lib/libcrypto/x509/x509_vfy.c')
-rw-r--r--src/lib/libcrypto/x509/x509_vfy.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/libcrypto/x509/x509_vfy.c b/src/lib/libcrypto/x509/x509_vfy.c
index b044f4931e..db2125b48d 100644
--- a/src/lib/libcrypto/x509/x509_vfy.c
+++ b/src/lib/libcrypto/x509/x509_vfy.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vfy.c,v 1.97 2021/11/13 18:24:45 schwarze Exp $ */ 1/* $OpenBSD: x509_vfy.c,v 1.98 2021/11/24 05:38:12 beck Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1989,8 +1989,12 @@ internal_verify(X509_STORE_CTX *ctx)
1989 return x509_vfy_internal_verify(ctx, 0); 1989 return x509_vfy_internal_verify(ctx, 0);
1990} 1990}
1991 1991
1992/*
1993 * Internal verify, but with a chain where the verification
1994 * math has already been performed.
1995 */
1992int 1996int
1993x509_vfy_callback_indicate_success(X509_STORE_CTX *ctx) 1997x509_vfy_callback_indicate_completion(X509_STORE_CTX *ctx)
1994{ 1998{
1995 return x509_vfy_internal_verify(ctx, 1); 1999 return x509_vfy_internal_verify(ctx, 1);
1996} 2000}