From: Dr. Stephen Henson Date: Thu, 26 Apr 2012 18:55:01 +0000 (+0000) Subject: Don't try to use unvalidated composite ciphers in FIPS mode X-Git-Tag: master-post-reformat~1836 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=a7086099452ddbfd9079a53d02317dee1317815b Don't try to use unvalidated composite ciphers in FIPS mode --- 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")))