diff options
Diffstat (limited to 'src/lib/libssl/ssl_lib.c')
-rw-r--r-- | src/lib/libssl/ssl_lib.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c index 52ede46f7e..70a4c6d16f 100644 --- a/src/lib/libssl/ssl_lib.c +++ b/src/lib/libssl/ssl_lib.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_lib.c,v 1.202 2019/03/25 16:37:52 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_lib.c,v 1.203 2019/03/25 17:21:18 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -2120,18 +2120,7 @@ ssl_get_sign_pkey(SSL *s, const SSL_CIPHER *cipher, const EVP_MD **pmd, | |||
2120 | } | 2120 | } |
2121 | 2121 | ||
2122 | pkey = c->pkeys[idx].privatekey; | 2122 | pkey = c->pkeys[idx].privatekey; |
2123 | sigalg = c->pkeys[idx].sigalg; | 2123 | if ((sigalg = ssl_sigalg_select(s, pkey)) == NULL) { |
2124 | if (!SSL_USE_SIGALGS(s)) { | ||
2125 | if (pkey->type == EVP_PKEY_RSA) { | ||
2126 | sigalg = ssl_sigalg_lookup(SIGALG_RSA_PKCS1_MD5_SHA1); | ||
2127 | } else if (pkey->type == EVP_PKEY_EC) { | ||
2128 | sigalg = ssl_sigalg_lookup(SIGALG_ECDSA_SHA1); | ||
2129 | } else { | ||
2130 | SSLerror(s, SSL_R_UNKNOWN_PKEY_TYPE); | ||
2131 | return (NULL); | ||
2132 | } | ||
2133 | } | ||
2134 | if (sigalg == NULL) { | ||
2135 | SSLerror(s, SSL_R_SIGNATURE_ALGORITHMS_ERROR); | 2124 | SSLerror(s, SSL_R_SIGNATURE_ALGORITHMS_ERROR); |
2136 | return (NULL); | 2125 | return (NULL); |
2137 | } | 2126 | } |