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 22.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 接近完全支持时,Red Hat build of Keycloak 将不会为其提供支持。对于部署到带有维护支持的 Red Hat JBoss Enterprise Application Platform 7.x 适配器的现有应用程序,可通过 Red Hat Single Sign-On 7.6 获得。
Red Hat Single Sign-On 7.6 适配器支持与红帽构建的 Keycloak 22.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 algorithm"在文件
$JAVA_HOME/conf/security/java.security
文件中的jdk.xml.dsig.secureValidationPolicy
上配置