@openssl_version_check_config@
#
- # openssl_fips_mode:: Disable OpenSSL FIPS mode.
+ # openssl_fips_mode:: Enable OpenSSL FIPS mode.
#
- # Setting this to "yes" means "use whatever FIPS mode is
- # available on the system".
- #
- # Setting this to "no" means "disable FIPS mode just for
- # FreeRADIUS".
- #
- # FreeRADIUS MUST disable FIPS mode in order to use MD4 and
- # MD5 from the OpenSSL APIs.
- #
- # This setting should only be used then the system as a whole
- # enables FIPS, and you still want to use RADIUS.
+ # This disables non-FIPS compliant digests and algorithms
#
# openssl_fips_mode = no
}
*/
int fr_openssl_fips_mode(bool enabled)
{
- if (enabled) return 0; /* don't change the FIPS mode */
-
- if (!EVP_set_default_properties(NULL, "-fips")) {
- fr_tls_log(NULL, "Failed disabling OpenSSL FIPS mode");
+ if (!EVP_set_default_properties(NULL, enabled ? "fips=yes" : "fips=no")) {
+ fr_tls_log(NULL, "Failed %s OpenSSL FIPS mode", enabled ? "enabling" : "disabling");
return -1;
}