summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/ssl_sigalgs.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index e2394561cf..dc68e31fa2 100644
--- a/src/lib/libssl/ssl_sigalgs.c
+++ b/src/lib/libssl/ssl_sigalgs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_sigalgs.c,v 1.51 2026/03/30 05:49:31 tb Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.52 2026/03/30 06:02:21 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2018-2020 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018-2020 Bob Beck <beck@openbsd.org>
4 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org> 4 * Copyright (c) 2021 Joel Sing <jsing@openbsd.org>
@@ -90,21 +90,21 @@ const struct ssl_sigalg sigalgs[] = {
90 }, 90 },
91 { 91 {
92 .value = SIGALG_RSA_PSS_PSS_SHA256, 92 .value = SIGALG_RSA_PSS_PSS_SHA256,
93 .key_type = EVP_PKEY_RSA, 93 .key_type = EVP_PKEY_RSA_PSS,
94 .md = EVP_sha256, 94 .md = EVP_sha256,
95 .security_level = 3, 95 .security_level = 3,
96 .flags = SIGALG_FLAG_RSA_PSS, 96 .flags = SIGALG_FLAG_RSA_PSS,
97 }, 97 },
98 { 98 {
99 .value = SIGALG_RSA_PSS_PSS_SHA384, 99 .value = SIGALG_RSA_PSS_PSS_SHA384,
100 .key_type = EVP_PKEY_RSA, 100 .key_type = EVP_PKEY_RSA_PSS,
101 .md = EVP_sha384, 101 .md = EVP_sha384,
102 .security_level = 4, 102 .security_level = 4,
103 .flags = SIGALG_FLAG_RSA_PSS, 103 .flags = SIGALG_FLAG_RSA_PSS,
104 }, 104 },
105 { 105 {
106 .value = SIGALG_RSA_PSS_PSS_SHA512, 106 .value = SIGALG_RSA_PSS_PSS_SHA512,
107 .key_type = EVP_PKEY_RSA, 107 .key_type = EVP_PKEY_RSA_PSS,
108 .md = EVP_sha512, 108 .md = EVP_sha512,
109 .security_level = 5, 109 .security_level = 5,
110 .flags = SIGALG_FLAG_RSA_PSS, 110 .flags = SIGALG_FLAG_RSA_PSS,
@@ -277,7 +277,8 @@ ssl_sigalg_pkey_ok(SSL *s, const struct ssl_sigalg *sigalg, EVP_PKEY *pkey)
277 277
278 /* RSA PSS must have a sufficiently large RSA key. */ 278 /* RSA PSS must have a sufficiently large RSA key. */
279 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS)) { 279 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS)) {
280 if (EVP_PKEY_id(pkey) != EVP_PKEY_RSA || 280 if ((EVP_PKEY_id(pkey) != EVP_PKEY_RSA &&
281 EVP_PKEY_id(pkey) != EVP_PKEY_RSA_PSS) ||
281 EVP_PKEY_size(pkey) < (2 * EVP_MD_size(sigalg->md()) + 2)) 282 EVP_PKEY_size(pkey) < (2 * EVP_MD_size(sigalg->md()) + 2))
282 return 0; 283 return 0;
283 } 284 }