7.10. IDP Keys 子元素


IDP 的 Keys 子元素仅用于定义用来验证 IDP 签署的文档的证书或公钥。它的定义方式与 SP 的 Keys 元素 相同。但是,您只需要定义一个证书或公钥引用。请注意,如果 IDP 和 SP 分别由红帽构建 Keycloak 服务器和适配器实现,则不需要为签名验证指定密钥,如下所示。

可以将 SP 配置为从公布的证书获取 IDP 签名验证的公钥,只要 SP 和 IDP 由红帽构建的 Keycloak 实施。这可以通过删除 Keys 子元素中的所有签名验证密钥声明来实现。如果 Keys 子元素将保留为空,则可以完全省略它。然后,密钥由 SP 从 SAML 描述符自动获取,该位置是从 IDP SingleSignOnService 子元素 中指定的 SAML 端点 URL 中获取的位置。用于 SAML 描述符检索的 HTTP 客户端的设置通常需要其他配置,但可以在 IDP HttpClient 子元素 中配置。

还可以指定多个密钥来签名验证。这可以通过在 Keys 子元素中声明多个 Key 元素,该元素将 signing 属性设置为 true 来完成。这在轮转 IDP 签名密钥时很有用:当新的 SAML 协议消息和断言使用新密钥签名时,通常会有一个过渡周期,但之前密钥签名的密钥仍被接受。

无法将红帽构建的 Keycloak 配置为自动获取签名验证的密钥,并定义额外的静态签名验证密钥。

       <IDP entityID="idp">
            ...
            <Keys>
                <Key signing="true">
                    <KeyStore resource="/WEB-INF/keystore.jks" password="store123">
                        <Certificate alias="demo"/>
                    </KeyStore>
                </Key>
            </Keys>
        </IDP>
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat