Fix SRP authentication ciphersuites.
The addition of SRP authentication needs to be checked in various places to work properly. Specifically: A certificate is not sent. A certificate request must not be sent. Server key exchange message must not contain a signature. If appropriate SRP authentication ciphersuites should be chosen. Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 8f5a8805b82d1ae81168b11b7f1506db9e047dec)
This commit is contained in:
@@ -327,9 +327,9 @@ int ssl3_connect(SSL *s)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
/* Check if it is anon DH/ECDH */
|
||||
/* Check if it is anon DH/ECDH, SRP auth */
|
||||
/* or PSK */
|
||||
if (!(s->s3->tmp.new_cipher->algorithm_auth & SSL_aNULL) &&
|
||||
if (!(s->s3->tmp.new_cipher->algorithm_auth & (SSL_aNULL|SSL_aSRP)) &&
|
||||
!(s->s3->tmp.new_cipher->algorithm_mkey & SSL_kPSK))
|
||||
{
|
||||
ret=ssl3_get_server_certificate(s);
|
||||
@@ -1916,8 +1916,8 @@ fprintf(stderr, "USING TLSv1.2 HASH %s\n", EVP_MD_name(md));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* aNULL or kPSK do not need public keys */
|
||||
if (!(alg_a & SSL_aNULL) && !(alg_k & SSL_kPSK))
|
||||
/* aNULL, aSRP or kPSK do not need public keys */
|
||||
if (!(alg_a & (SSL_aNULL|SSL_aSRP)) && !(alg_k & SSL_kPSK))
|
||||
{
|
||||
/* Might be wrong key type, check it */
|
||||
if (ssl3_check_cert_and_algorithm(s))
|
||||
|
Reference in New Issue
Block a user