On 20/03/15 12:44, Linsell, StevenX wrote: > On Thu, Mar 19, 2015, Steve Linsell wrote: >> >> I am trying to use ECDH-RSA-AES256-SHA with ssl3 with s_client and s_server >> on >> the master branch. (cloned at commit >> f7683aaf36341dc65672ac2ccdbfd4a232e3626d) and then retested with a more >> recent clone: (commit da27006df06853a33b132133699a7aa9d4277920). > > Following further testing I see identical failures in the master branch using > the following cipher/protocol combinations: > > ECDH-ECDSA-AES128-SHA ssl3 > ECDH-ECDSA-AES256-SHA ssl3 > ECDH-ECDSA-DES-CBC3-SHA ssl3 > ECDH-ECDSA-RC4-SHA ssl3 > ECDH-RSA-AES128-SHA ssl3 > ECDH-RSA-AES256-SHA ssl3 > ECDH-RSA-DES-CBC3-SHA ssl3 > ECDH-RSA-RC4-SHA ssl3 > ECDHE-ECDSA-AES128-SHA ssl3 > ECDHE-ECDSA-AES256-SHA ssl3 > ECDHE-ECDSA-DES-CBC3-SHA ssl3 > ECDHE-ECDSA-RC4-SHA ssl3 >
Hi Steve Looks like a bug. Try the attached patch. Let me know how you get on. Thanks Matt
>From f5c18cb86af3ca1dccf958f5a8a193cb9d628d7f Mon Sep 17 00:00:00 2001 From: Matt Caswell <m...@openssl.org> Date: Fri, 20 Mar 2015 15:10:16 +0000 Subject: [PATCH] Don't check curves that haven't been sent Don't check that the curve appears in the list of acceptable curves for the peer, if they didn't send us such a list (for example this will always be the case in SSL3) --- ssl/t1_lib.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index 8b75dba..d32efd7 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -706,6 +706,10 @@ static int tls1_check_ec_key(SSL *s, for (j = 0; j <= 1; j++) { if (!tls1_get_curvelist(s, j, &pcurves, &num_curves)) return 0; + if (j == 1 && num_curves == 0) { + /* If we've not received any curves then skip this check */ + break; + } for (i = 0; i < num_curves; i++, pcurves += 2) { if (pcurves[0] == curve_id[0] && pcurves[1] == curve_id[1]) break; -- 2.1.0
_______________________________________________ openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users