diff --git a/CHANGES b/CHANGES index fbe062bd9..577ac21be 100644 --- a/CHANGES +++ b/CHANGES @@ -52,7 +52,13 @@ certificates. [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 diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index a96a5daaf..6db2aa945 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")))