Fix the alert sent if no shared sig algs
authorMatt Caswell <matt@openssl.org>
Thu, 19 Apr 2018 09:38:57 +0000 (10:38 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 20 Apr 2018 10:40:06 +0000 (11:40 +0100)
We were sending illegal parameter. This isn't correct. The parameters are
legal, we just don't have an overlap. A more appropriate alert is
handshake failure.

Fixes #2919

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6010)

ssl/t1_lib.c

index 5ba7377fe3d1c7fa7e33d061db99e0ae8344418d..6f4078e88e946192f1515999a9af6c64e76ed2da 100644 (file)
@@ -2800,7 +2800,7 @@ int tls1_set_server_sigalgs(SSL *s)
         if (!s->cert->shared_sigalgs) {
             SSLerr(SSL_F_TLS1_SET_SERVER_SIGALGS,
                    SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS);
-            al = SSL_AD_ILLEGAL_PARAMETER;
+            al = SSL_AD_HANDSHAKE_FAILURE;
             goto err;
         }
     } else {