5.7. 迁移 SAML 应用程序
5.7.1. 迁移 Red Hat JBoss Enterprise Application Platform 应用程序
5.7.1.1. Red Hat JBoss Enterprise Application Platform 8.x
红帽构建的 Keycloak 26.0 包括 Red Hat JBoss Enterprise Application Platform 8.x 的客户端适配器,包括支持 Jakarta EE。
5.7.1.2. Red Hat JBoss Enterprise Application Platform 7.x
因为 Red Hat JBoss Enterprise Application Platform 7.x 接近完全支持,因此红帽构建的 Keycloak 不会为其提供支持。对于部署到带有维护支持的 Red Hat JBoss Enterprise Application Platform 7.x 适配器的现有应用程序,可通过 Red Hat Single Sign-On 7.6 获得。
Red Hat Single Sign-On 7.6 适配器支持与 Red Hat build of Keycloak 26.0 服务器结合使用。
5.7.1.3. Red Hat JBoss Enterprise Application Platform 6.x
因为 Red Hat JBoss Enterprise Application PlatformJBoss EAP 6.x 已结束维护支持,所以 Red Hat Single Sign-On 7.6 或 Red Hat build of Keycloak 将为其提供支持。
5.7.2. SAML 协议和客户端设置中的主要变化
5.7.2.1. SAML SP 元数据更改
在此版本之前,SAML SP 元数据包含用于签名和加密使用的相同密钥。从 Keycloak 的这个版本开始,我们仅包含在 SP 元数据中使用的加密目标域密钥。对于每个加密密钥描述符,我们还指定应与之使用的算法。下表显示了带有红帽构建的 Keycloak 域键的受支持的 XML-Enc 算法。
xml-Enc 算法 | realm 键算法 |
---|---|
rsa-oaep-mgf1p | RSA-OAEP |
rsa-1_5 | RSA1_5 |
其他资源
5.7.2.2. 弃用了 SAML 的 RSA_SHA1 和 DSA_SHA1 算法
算法 RSA_SHA1
和 DSA_SHA1
,它可以配置为 SAML 适配器、客户端和身份提供程序上的签名算法。我们建议使用基于
SHA256
或 SHA512
的安全替代方案。另外,使用这些算法在已签名的 SAML 文档或断言上验证签名无法在 Java 17 或更高版本上工作。如果您使用此算法,并且消耗 SAML 文档的其他方在 Java 17 或更高版本上运行,请验证签名将无法正常工作。
可能的解决方法是删除算法,如下所示:
-
列表中的
http://www.w3.org/2000/09/xmldsig#rsa-sha1
或http://www.w3.org/2000/09/xmldsig#dsa-sha1
-
"disallowed 算法"在文件
$JAVA_HOME/conf/security/java.security
中配置了jdk.xml.dsig.secureValidationPolicy