X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fstatem%2Fstatem_srvr.c;fp=ssl%2Fstatem%2Fstatem_srvr.c;h=b6baff28ea5940ca976eed24cdaa530a817a0a26;hp=9d0d8c9ed4333031ffd01d5fb83e9b8f8efb8900;hb=936d5657680bba3315aec6d7cdc04ea8cab9050e;hpb=184280971c4db38d7001983569bacca2a50b50f1 diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c index 9d0d8c9ed4..b6baff28ea 100644 --- a/ssl/statem/statem_srvr.c +++ b/ssl/statem/statem_srvr.c @@ -2962,11 +2962,8 @@ static int tls_process_cke_rsa(SSL *s, PACKET *pkt) static int tls_process_cke_dhe(SSL *s, PACKET *pkt) { -#ifndef OPENSSL_NO_DH EVP_PKEY *skey = NULL; - DH *cdh; unsigned int i; - BIGNUM *pub_key; const unsigned char *data; EVP_PKEY *ckey = NULL; int ret = 0; @@ -2996,11 +2993,8 @@ static int tls_process_cke_dhe(SSL *s, PACKET *pkt) goto err; } - cdh = EVP_PKEY_get0_DH(ckey); - pub_key = BN_bin2bn(data, i, NULL); - if (pub_key == NULL || cdh == NULL || !DH_set0_key(cdh, pub_key, NULL)) { + if (!EVP_PKEY_set1_encoded_public_key(ckey, data, i)) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); - BN_free(pub_key); goto err; } @@ -3015,11 +3009,6 @@ static int tls_process_cke_dhe(SSL *s, PACKET *pkt) err: EVP_PKEY_free(ckey); return ret; -#else - /* Should never happen */ - SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); - return 0; -#endif } static int tls_process_cke_ecdhe(SSL *s, PACKET *pkt)