14.5. 其他限制
要让 SAML 正常工作,请确保您的安全供应商中提供了 XMLDSig
安全提供程序。要使 Kerberos 正常工作,请确保有 SunJGSS
安全供应商可用。在 OpenJDK 17.0.6 中启用了 FIPS 的 RHEL 9 中,这些安全供应商不在 java.security
中,这意味着它们有效地无法正常工作。
要使 SAML 正常工作,您可以手动将提供程序添加到 JAVA_HOME/conf/security/java.security
中,到列表 fips 供应商中。例如,添加如下行:
fips.provider.7=XMLDSig
添加此安全供应商应该可以正常工作。实际上,它兼容 FIPS,可能在以后的 OpenJDK 17 微版本中默认添加。详情包括在 bugzilla 中。
建议查看 JAVA_HOME/conf/security/java.security
,并在此处检查所有配置的供应商,并确保数字匹配。换句话说,fips.provider.7
假设已经有 6 个提供商配置了此文件中的 fips.provider.N
等前缀。
如果您不希望在 java 本身内编辑 java.security
文件,您可以创建自定义 java 安全文件(例如,名为 kc.java.security
),并将上面的单个属性添加到该文件中。然后,使用附加此属性文件启动您的红帽 Keycloak 服务器构建:
-Djava.security.properties=/location/to/your/file/kc.java.security
对于 Kerberos/SPNEGO,安全供应商 SunJGSS
尚未完全兼容 FIPS。因此,如果要兼容 FIPS,不建议将其添加到安全供应商列表中。当在 FIPS 平台上执行时,红帽构建的 Keycloak 中默认禁用 KERBEROS
功能,当安全供应商不可用时。详情包括在 bugzilla 中。