【问题标题】:How the certificate use from SP keystore spring saml如何使用 SP 密钥库 spring saml 中的证书
【发布时间】:2015-09-20 22:50:11
【问题描述】:

我目前正在实施 Spring SAMl 来配置我的 SP。我收到了来自 IDP 的元数据 XML,我将它放在元数据文件夹中。 1.现在启动时出现异常是没有配置IDP,所以发现这是由于证书无效。现在我只需将证书导入 samlKeystore.jks 并将 metadataTrustCheck = false 放入 ExtendedMetadataDelegate bean 中,这有助于我启动 SP 而没有任何错误,我正在获取重定向表单IDP 到 SP,我可以实现我所需要的。
2. 现在我刚刚删除了 IDP 提供的 Certificates 我保存在 samlKeystore.jks 并重新启动应用程序,然后 IDP 之间的通信也没有问题和SP。

我现在有一些需要帮助才能理解的问题。 从 IDP 提供给我的证书已导入到我的 samlKeystore.jks,这些证书是否有任何用途,因为响应带有 IDP 的签名和证书。为了验证响应,我们应该在响应中使用证书和签名。

我是否希望执行metadataTrustCheck = true 并更正 IDP 元数据,如果是的话,如何更正它,因为我有证书链。

【问题讨论】:

    标签: spring-saml


    【解决方案1】:

    您从 IDP 收到的元数据文档包含证书,IDP 将使用这些证书对将发送给您的 SP 的 SAML 消息进行数字签名。无需将这些导入到 samlKeystore.jks,因为它们已经存在于元数据中。

    元数据文档本身也可能经过数字签名(以确保在它到达您之前没有人对其进行过修改)。现在metadataTrustCheck = true Spring SAML 将尝试验证此签名是否有效,为此它需要知道是否信任用于创建签名的证书。

    因此,您需要与 Spring SAML 沟通您信任哪些证书来签署元数据文档 - 您可以通过将它们导入 samlKeystore.jks 来做到这一点。

    如果您相信您拥有的元数据文档是正确的,只需禁用 metadataTrustCheck 并且不要将任何公共证书导入 samlKeystore - 只需依赖元数据文档本身中的内容即可。

    【讨论】:

    • 感谢弗拉迪!我收到的元数据是签名的,并且在将正确的证书安装到 samlKeystore.jks 之后,它就可以工作了。问题是我替换了元数据 XML 中提供给我的证书。
    猜你喜欢
    • 2019-09-11
    • 2013-11-30
    • 2021-11-04
    • 2017-05-26
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多