can switch between modes.
Changes between 1.0.0e and 1.0.1 [xx XXX xxxx]
+ *) For FIPS capable OpenSSL interpret a NULL default public key method
+ as unset and return the appopriate default but do *not* set the default.
+ This means we can return the appopriate method in applications that
+ swicth between FIPS and non-FIPS modes.
+ [Steve Henson]
+
*) Redirect HMAC and CMAC operations to FIPS module in FIPS mode. If an
ENGINE is used then we cannot handle that in the FIPS module so we
keep original code iff non-FIPS operations are allowed.
{
#ifdef OPENSSL_FIPS
if (FIPS_mode())
- default_DH_method = FIPS_dh_openssl();
+ return FIPS_dh_openssl();
else
+ return DH_OpenSSL();
+#else
+ default_DH_method = DH_OpenSSL();
#endif
- default_DH_method = DH_OpenSSL();
}
return default_DH_method;
}
{
#ifdef OPENSSL_FIPS
if (FIPS_mode())
- default_DSA_method = FIPS_dsa_openssl();
+ return FIPS_dsa_openssl();
else
+ return DSA_OpenSSL();
+#else
+ default_DSA_method = DSA_OpenSSL();
#endif
- default_DSA_method = DSA_OpenSSL();
}
return default_DSA_method;
}
{
#ifdef OPENSSL_FIPS
if (FIPS_mode())
- default_ECDH_method = FIPS_ecdh_openssl();
+ return FIPS_ecdh_openssl();
else
+ return ECDH_OpenSSL();
+#else
+ default_ECDH_method = ECDH_OpenSSL();
#endif
- default_ECDH_method = ECDH_OpenSSL();
}
return default_ECDH_method;
}
{
#ifdef OPENSSL_FIPS
if (FIPS_mode())
- default_ECDSA_method = FIPS_ecdsa_openssl();
+ return FIPS_ecdsa_openssl();
else
+ return ECDSA_OpenSSL();
+#else
+ default_ECDSA_method = ECDSA_OpenSSL();
#endif
- default_ECDSA_method = ECDSA_OpenSSL();
}
return default_ECDSA_method;
}
{
if (default_RSA_meth == NULL)
{
-#ifdef RSA_NULL
- default_RSA_meth=RSA_null_method();
-#else
-#if 0 /* was: #ifdef RSAref */
- default_RSA_meth=RSA_PKCS1_RSAref();
-#else
#ifdef OPENSSL_FIPS
if (FIPS_mode())
- default_RSA_meth = FIPS_rsa_pkcs1_ssleay();
+ return FIPS_rsa_pkcs1_ssleay();
else
-#endif
- default_RSA_meth=RSA_PKCS1_SSLeay();
+ return RSA_PKCS1_SSLeay();
+#else
+#ifdef RSA_NULL
+ default_RSA_meth=RSA_null_method();
+#else
+ default_RSA_meth=RSA_PKCS1_SSLeay();
#endif
#endif
}