summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2022-06-29 21:19:21 +0000
committertb <>2022-06-29 21:19:21 +0000
commite223cf89d2fec4ae668f7ae2f145bfdaef1a02ca (patch)
treef7c4cea6ddea653e5d3769e5164dad4bc3fcf17c /src
parent831bfdd11f50ae38c3e5fe343d11393a2e503f51 (diff)
downloadopenbsd-e223cf89d2fec4ae668f7ae2f145bfdaef1a02ca.tar.gz
openbsd-e223cf89d2fec4ae668f7ae2f145bfdaef1a02ca.tar.bz2
openbsd-e223cf89d2fec4ae668f7ae2f145bfdaef1a02ca.zip
Don't check the signature if a cert is self signed.
ok beck jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_seclevel.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_seclevel.c b/src/lib/libssl/ssl_seclevel.c
index b24999498c..4bcbcbf36c 100644
--- a/src/lib/libssl/ssl_seclevel.c
+++ b/src/lib/libssl/ssl_seclevel.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_seclevel.c,v 1.9 2022/06/29 21:10:20 tb Exp $ */ 1/* $OpenBSD: ssl_seclevel.c,v 1.10 2022/06/29 21:19:21 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2020 Theo Buehler <tb@openbsd.org> 3 * Copyright (c) 2020 Theo Buehler <tb@openbsd.org>
4 * 4 *
@@ -26,6 +26,7 @@
26#include <openssl/ssl.h> 26#include <openssl/ssl.h>
27#include <openssl/tls1.h> 27#include <openssl/tls1.h>
28#include <openssl/x509.h> 28#include <openssl/x509.h>
29#include <openssl/x509v3.h>
29 30
30#include "ssl_locl.h" 31#include "ssl_locl.h"
31 32
@@ -284,7 +285,7 @@ ssl_security_cert_key(const SSL_CTX *ctx, const SSL *ssl, X509 *x509, int op)
284} 285}
285 286
286static int 287static int
287ssl_cert_signature_md_nid(const X509 *x509) 288ssl_cert_signature_md_nid(X509 *x509)
288{ 289{
289 int md_nid, signature_nid; 290 int md_nid, signature_nid;
290 291
@@ -317,6 +318,10 @@ ssl_security_cert_sig(const SSL_CTX *ctx, const SSL *ssl, X509 *x509, int op)
317{ 318{
318 int md_nid, security_bits; 319 int md_nid, security_bits;
319 320
321 /* Don't check signature if self signed. */
322 if ((X509_get_extension_flags(x509) & EXFLAG_SS) != 0)
323 return 1;
324
320 md_nid = ssl_cert_signature_md_nid(x509); 325 md_nid = ssl_cert_signature_md_nid(x509);
321 security_bits = ssl_cert_md_nid_security_bits(md_nid); 326 security_bits = ssl_cert_md_nid_security_bits(md_nid);
322 327