第 2 章 以 FIPS 模式配置红帽构建的 OpenJDK 8
Red Hat build of OpenJDK 8 检查系统是否在启动时启用 FIPS 模式。如果是,它会根据全局策略自行配置 FIPS。从 RHEL 8.3 开始,这是默认行为。以前的 RHEL 8 版本需要将 com.redhat.fips
系统属性设置为 true
作为 JVM 参数。例如,-Dcom.redhat.fips=true
。
注意
如果在 JVM 实例运行时在系统中启用了 FIPS 模式,需要重启实例才能使更改生效。
有关如何启用 FIPS 模式的更多信息,请参阅 将系统切换到 FIPS 模式。
您可以配置红帽构建的 OpenJDK 8,以绕过全局 FIPS 对齐。例如,您可能希望通过硬件安全模块(HSM)而不是红帽构建的 OpenJDK 提供的方案启用 FIPS 合规性。
以下是红帽构建的 OpenJDK 8 的 FIPS 属性:
security.useSystemPropertiesFile
-
安全属性位于
$JAVA_HOME/lib/security/java.security
或 文件中定向到java.security.properties
。 -
需要特权访问权限来修改默认的
java.security
文件中的值。 - 永久配置。
-
当设置为
false
时,全局 FIPS 和 crypto-policies 对齐都会被禁用。默认情况下,它被设置为true
。
-
安全属性位于
java.security.disableSystemPropertiesFile
-
作为参数传递到 JVM 的系统属性。例如,
-Djava.security.disableSystemPropertiesFile=true
。 - 非特权访问权限足够。
- 非持久性配置。
-
当设置为
true
时,全局 FIPS 和 crypto-policies 对齐都会被禁用;生成与security.useSystemPropertiesFile=false
安全属性相同的效果。如果这两个属性都被设置为不同的行为,则java.security.disableSystemPropertiesFile
覆盖。默认情况下,它被设置为false
。
-
作为参数传递到 JVM 的系统属性。例如,
com.redhat.fips
-
作为参数传递至 JVM 的系统属性。例如,
-Dcom.redhat.fips=false
。 - 非特权访问权限足够。
- 非持久性配置。
-
当设置为
false
时,禁用 FIPS 对齐,同时仍然应用全局 crypto-policies。如果将任何上述属性设置为禁用 crypto-policies 对齐,则此属性无效。换句话说,crypto-policies 是 FIPS 校准的先决条件。默认情况下,它被设置为true
。
-
作为参数传递至 JVM 的系统属性。例如,