summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2026-03-30 06:20:08 +0000
committertb <>2026-03-30 06:20:08 +0000
commit22f6fa080aa393c2a6455f88e99334d5b461444b (patch)
tree6bcbe6f66dafbf6a0cf98ff33f827e17a4a676a1 /src
parent2cce484ddc397481c8dab3c2e72dc77bbefcfddb (diff)
downloadopenbsd-22f6fa080aa393c2a6455f88e99334d5b461444b.tar.gz
openbsd-22f6fa080aa393c2a6455f88e99334d5b461444b.tar.bz2
openbsd-22f6fa080aa393c2a6455f88e99334d5b461444b.zip
libssl: announce support for RSASSA-PSS signature schemes
Announce the signature schemes for RSASSA-PSS with pubkey OID RSASSA-PSS between RSASSA-PSS with pubkey OID rsaEncryption and RSASSA-PKCS1-v1_5. This is the last step in the everlasting saga for making these signature schemes and certificates with RSASSA-PSS OID work. Fortunately, these are rarely used since they are extremely complex and inefficient also due to the large size of the parameters. This addresses bug reports by Steffen Ullrich and Tom Lane. Tested by bluhm. ok djm jsing kenjiro
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_sigalgs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index dc68e31fa2..ee4088f6ab 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.52 2026/03/30 06:02:21 tb Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.53 2026/03/30 06:20:08 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>
@@ -147,12 +147,15 @@ const struct ssl_sigalg sigalgs[] = {
147/* Sigalgs for TLSv1.3, in preference order. */ 147/* Sigalgs for TLSv1.3, in preference order. */
148const uint16_t tls13_sigalgs[] = { 148const uint16_t tls13_sigalgs[] = {
149 SIGALG_RSA_PSS_RSAE_SHA512, 149 SIGALG_RSA_PSS_RSAE_SHA512,
150 SIGALG_RSA_PSS_PSS_SHA512,
150 SIGALG_RSA_PKCS1_SHA512, 151 SIGALG_RSA_PKCS1_SHA512,
151 SIGALG_ECDSA_SECP521R1_SHA512, 152 SIGALG_ECDSA_SECP521R1_SHA512,
152 SIGALG_RSA_PSS_RSAE_SHA384, 153 SIGALG_RSA_PSS_RSAE_SHA384,
154 SIGALG_RSA_PSS_PSS_SHA384,
153 SIGALG_RSA_PKCS1_SHA384, 155 SIGALG_RSA_PKCS1_SHA384,
154 SIGALG_ECDSA_SECP384R1_SHA384, 156 SIGALG_ECDSA_SECP384R1_SHA384,
155 SIGALG_RSA_PSS_RSAE_SHA256, 157 SIGALG_RSA_PSS_RSAE_SHA256,
158 SIGALG_RSA_PSS_PSS_SHA256,
156 SIGALG_RSA_PKCS1_SHA256, 159 SIGALG_RSA_PKCS1_SHA256,
157 SIGALG_ECDSA_SECP256R1_SHA256, 160 SIGALG_ECDSA_SECP256R1_SHA256,
158}; 161};
@@ -161,12 +164,15 @@ const size_t tls13_sigalgs_len = (sizeof(tls13_sigalgs) / sizeof(tls13_sigalgs[0
161/* Sigalgs for TLSv1.2, in preference order. */ 164/* Sigalgs for TLSv1.2, in preference order. */
162const uint16_t tls12_sigalgs[] = { 165const uint16_t tls12_sigalgs[] = {
163 SIGALG_RSA_PSS_RSAE_SHA512, 166 SIGALG_RSA_PSS_RSAE_SHA512,
167 SIGALG_RSA_PSS_PSS_SHA512,
164 SIGALG_RSA_PKCS1_SHA512, 168 SIGALG_RSA_PKCS1_SHA512,
165 SIGALG_ECDSA_SECP521R1_SHA512, 169 SIGALG_ECDSA_SECP521R1_SHA512,
166 SIGALG_RSA_PSS_RSAE_SHA384, 170 SIGALG_RSA_PSS_RSAE_SHA384,
171 SIGALG_RSA_PSS_PSS_SHA384,
167 SIGALG_RSA_PKCS1_SHA384, 172 SIGALG_RSA_PKCS1_SHA384,
168 SIGALG_ECDSA_SECP384R1_SHA384, 173 SIGALG_ECDSA_SECP384R1_SHA384,
169 SIGALG_RSA_PSS_RSAE_SHA256, 174 SIGALG_RSA_PSS_RSAE_SHA256,
175 SIGALG_RSA_PSS_PSS_SHA256,
170 SIGALG_RSA_PKCS1_SHA256, 176 SIGALG_RSA_PKCS1_SHA256,
171 SIGALG_ECDSA_SECP256R1_SHA256, 177 SIGALG_ECDSA_SECP256R1_SHA256,
172 SIGALG_RSA_PKCS1_SHA1, /* XXX */ 178 SIGALG_RSA_PKCS1_SHA1, /* XXX */