diff options
author | tb <> | 2021-11-26 16:41:42 +0000 |
---|---|---|
committer | tb <> | 2021-11-26 16:41:42 +0000 |
commit | e84f8ffa4a738212bdc72ac70cde22346dc369dd (patch) | |
tree | c92bdaad8dd207866e32754aa3f446b82aec8ae9 /src/lib/libssl/ssl_sigalgs.c | |
parent | 6b08604ab5e3fc8e6db10211d78a155d876da903 (diff) | |
download | openbsd-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.c | 10 |
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 * | |||
246 | ssl_sigalg_for_legacy(SSL *s, EVP_PKEY *pkey) | 246 | ssl_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( |