summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_sigalgs.c
diff options
context:
space:
mode:
authortb <>2021-11-26 16:41:42 +0000
committertb <>2021-11-26 16:41:42 +0000
commite84f8ffa4a738212bdc72ac70cde22346dc369dd (patch)
treec92bdaad8dd207866e32754aa3f446b82aec8ae9 /src/lib/libssl/ssl_sigalgs.c
parent6b08604ab5e3fc8e6db10211d78a155d876da903 (diff)
downloadopenbsd-e84f8ffa4a738212bdc72ac70cde22346dc369dd.tar.gz
openbsd-e84f8ffa4a738212bdc72ac70cde22346dc369dd.tar.bz2
openbsd-e84f8ffa4a738212bdc72ac70cde22346dc369dd.zip
Stop reaching into EVP_PKEY in the rest of libssl.
ok inoguchi jsing
Diffstat (limited to 'src/lib/libssl/ssl_sigalgs.c')
-rw-r--r--src/lib/libssl/ssl_sigalgs.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index 765f39d4a9..95c624af9c 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.37 2021/06/29 19:36:14 jsing Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.38 2021/11/26 16:41:42 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>
@@ -246,7 +246,7 @@ static const struct ssl_sigalg *
246ssl_sigalg_for_legacy(SSL *s, EVP_PKEY *pkey) 246ssl_sigalg_for_legacy(SSL *s, EVP_PKEY *pkey)
247{ 247{
248 /* Default signature algorithms used for TLSv1.2 and earlier. */ 248 /* Default signature algorithms used for TLSv1.2 and earlier. */
249 switch (pkey->type) { 249 switch (EVP_PKEY_id(pkey)) {
250 case EVP_PKEY_RSA: 250 case EVP_PKEY_RSA:
251 if (S3I(s)->hs.negotiated_tls_version < TLS1_2_VERSION) 251 if (S3I(s)->hs.negotiated_tls_version < TLS1_2_VERSION)
252 return ssl_sigalg_lookup(SIGALG_RSA_PKCS1_MD5_SHA1); 252 return ssl_sigalg_lookup(SIGALG_RSA_PKCS1_MD5_SHA1);
@@ -267,12 +267,12 @@ ssl_sigalg_pkey_ok(SSL *s, const struct ssl_sigalg *sigalg, EVP_PKEY *pkey)
267{ 267{
268 if (sigalg == NULL || pkey == NULL) 268 if (sigalg == NULL || pkey == NULL)
269 return 0; 269 return 0;
270 if (sigalg->key_type != pkey->type) 270 if (sigalg->key_type != EVP_PKEY_id(pkey))
271 return 0; 271 return 0;
272 272
273 /* RSA PSS must have a sufficiently large RSA key. */ 273 /* RSA PSS must have a sufficiently large RSA key. */
274 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS)) { 274 if ((sigalg->flags & SIGALG_FLAG_RSA_PSS)) {
275 if (pkey->type != EVP_PKEY_RSA || 275 if (EVP_PKEY_id(pkey) != EVP_PKEY_RSA ||
276 EVP_PKEY_size(pkey) < (2 * EVP_MD_size(sigalg->md()) + 2)) 276 EVP_PKEY_size(pkey) < (2 * EVP_MD_size(sigalg->md()) + 2))
277 return 0; 277 return 0;
278 } 278 }
@@ -286,7 +286,7 @@ ssl_sigalg_pkey_ok(SSL *s, const struct ssl_sigalg *sigalg, EVP_PKEY *pkey)
286 return 0; 286 return 0;
287 287
288 /* Ensure that curve matches for EC keys. */ 288 /* Ensure that curve matches for EC keys. */
289 if (pkey->type == EVP_PKEY_EC) { 289 if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) {
290 if (sigalg->curve_nid == 0) 290 if (sigalg->curve_nid == 0)
291 return 0; 291 return 0;
292 if (EC_GROUP_get_curve_name(EC_KEY_get0_group( 292 if (EC_GROUP_get_curve_name(EC_KEY_get0_group(