5.7. 迁移 SAML 应用程序
红帽构建的 Keycloak 22.0 包括 Red Hat JBoss Enterprise Application Platform 8.x 的客户端适配器,包括对 Jakarta EE 的支持。
当 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 服务器一起使用。
当 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
上配置