diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index f8d8b95e..69e94a4c 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -4201,7 +4201,10 @@ const SSL_CIPHER *ssl3_choose_cipher(SSL *s, STACK_OF(SSL_CIPHER) *clnt, ok = 0; /* not use ECDSA under TLS v1.2 */ // if ((alg_a & SSL_aECDSA) && s->version != TLS1_2_VERSION) continue; - if ((alg_a & SSL_aRSA) && (alg_k & SSL_kRSA) && s->version == TLS1_2_VERSION) ok = 0; + if ((alg_a & SSL_aRSA) && + (alg_k & SSL_kRSA) && + (algorithm_mac != SSL_AEAD) && + s->version == TLS1_2_VERSION) ok = 0; #ifndef OPENSSL_NO_PSK /* with PSK there must be server callback set */