From a7086099452ddbfd9079a53d02317dee1317815b Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 26 Apr 2012 18:55:01 +0000 Subject: [PATCH] Don't try to use unvalidated composite ciphers in FIPS mode --- CHANGES | 11 +++++++++-- ssl/ssl_ciph.c | 5 +++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index fd0aaf4d5b..33c30602ed 100644 --- a/CHANGES +++ b/CHANGES @@ -289,8 +289,15 @@ whose return value is often ignored. [Steve Henson] - Changes between 1.0.1a and 1.0.1b [xx XXX xxxx] - + + Changes between 1.0.1b and 1.0.1c [xx XXX xxxx] + + *) In FIPS mode don't try to use composite ciphers as they are not + approved. + [Steve Henson] + + Changes between 1.0.1a and 1.0.1b [26 Apr 2012] + *) OpenSSL 1.0.0 sets SSL_OP_ALL to 0x80000FFFL and OpenSSL 1.0.1 and 1.0.1a set SSL_OP_NO_TLSv1_1 to 0x00000400L which would unfortunately mean any application compiled against OpenSSL 1.0.0 headers setting diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index a96a5daaf5..6db2aa945d 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -620,6 +620,11 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, s->ssl_version < TLS1_VERSION) return 1; +#ifdef OPENSSL_FIPS + if (FIPS_mode()) + return 1; +#endif + if (c->algorithm_enc == SSL_RC4 && c->algorithm_mac == SSL_MD5 && (evp=EVP_get_cipherbyname("RC4-HMAC-MD5"))) -- GitLab