diff options
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
| -rw-r--r-- | src/lib/libssl/ssl_srvr.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index f1b8a49468..03ae29a278 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ssl_srvr.c,v 1.56 2018/11/11 02:03:23 beck Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.57 2018/11/11 02:22:34 beck 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 | * |
| @@ -1549,6 +1549,13 @@ ssl3_send_server_key_exchange(SSL *s) | |||
| 1549 | SSLerror(s, ERR_R_EVP_LIB); | 1549 | SSLerror(s, ERR_R_EVP_LIB); |
| 1550 | goto err; | 1550 | goto err; |
| 1551 | } | 1551 | } |
| 1552 | if ((sigalg->flags & SIGALG_FLAG_RSA_PSS) && | ||
| 1553 | (!EVP_PKEY_CTX_set_rsa_padding(pctx, | ||
| 1554 | RSA_PKCS1_PSS_PADDING) || | ||
| 1555 | !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1))) { | ||
| 1556 | SSLerror(s, ERR_R_EVP_LIB); | ||
| 1557 | goto err; | ||
| 1558 | } | ||
| 1552 | if (!EVP_DigestSignUpdate(&md_ctx, s->s3->client_random, | 1559 | if (!EVP_DigestSignUpdate(&md_ctx, s->s3->client_random, |
| 1553 | SSL3_RANDOM_SIZE)) { | 1560 | SSL3_RANDOM_SIZE)) { |
| 1554 | SSLerror(s, ERR_R_EVP_LIB); | 1561 | SSLerror(s, ERR_R_EVP_LIB); |
| @@ -2203,6 +2210,13 @@ ssl3_get_cert_verify(SSL *s) | |||
| 2203 | al = SSL_AD_INTERNAL_ERROR; | 2210 | al = SSL_AD_INTERNAL_ERROR; |
| 2204 | goto f_err; | 2211 | goto f_err; |
| 2205 | } | 2212 | } |
| 2213 | if ((sigalg->flags & SIGALG_FLAG_RSA_PSS) && | ||
| 2214 | (!EVP_PKEY_CTX_set_rsa_padding | ||
| 2215 | (pctx, RSA_PKCS1_PSS_PADDING) || | ||
| 2216 | !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1))) { | ||
| 2217 | al = SSL_AD_INTERNAL_ERROR; | ||
| 2218 | goto err; | ||
| 2219 | } | ||
| 2206 | if (!EVP_DigestVerifyUpdate(&mctx, hdata, hdatalen)) { | 2220 | if (!EVP_DigestVerifyUpdate(&mctx, hdata, hdatalen)) { |
| 2207 | SSLerror(s, ERR_R_EVP_LIB); | 2221 | SSLerror(s, ERR_R_EVP_LIB); |
| 2208 | al = SSL_AD_INTERNAL_ERROR; | 2222 | al = SSL_AD_INTERNAL_ERROR; |
