证书如何使用 SP 密钥库 spring saml
How the certificate use from SP keystore spring saml
我目前正在实施 Spring SAMl 来配置我的 SP。我从 IDP 收到了一个元数据 XML,我把它放在了元数据文件夹中。
1.现在开始时我得到异常是没有配置IDP,所以发现这是由于证书无效。现在我只是将证书导入 samlKeystore.jks 并将 metadataTrustCheck = false
放入 ExtendedMetadataDelegate bean 中,这帮助我启动了 SP没有任何错误,我正在从 IDP 重定向到 SP,我可以实现我需要的。
2. 现在我刚刚删除了我保存在 samlKeystore.jks 中的 IDP 提供的 Certificates 并重新启动应用程序,然后也在那里IDP 和 SP 之间的通信没有问题。
我现在有一些疑问需要帮助才能理解。
从 IDP 提供给我的证书,我已经导入到我的 samlKeystore.jks,这些有什么用,因为响应带有来自 IDP 的签名和证书。为了验证响应,我们应该在响应中使用证书和签名。
我希望做 metadataTrustCheck = true
并更正 IDP 元数据吗?如果是,如何更正它,因为我有证书链。
您从 IDP 收到的元数据文档包含证书,IDP 将使用这些证书对发送给您的 SP 的 SAML 消息进行数字签名。无需将它们导入 samlKeystore.jks,因为它们已经存在于元数据中。
元数据文档本身也可以进行数字签名(以确保在它到达您之前没有人对其进行修改)。现在 metadataTrustCheck = true
Spring SAML 将尝试验证此签名是否有效,为此它需要知道是否信任用于创建签名的证书。
因此您需要与 Spring SAML 沟通您信任哪些证书来签署元数据文档 - 您可以通过将它们导入 samlKeystore.jks.
如果您相信您拥有的元数据文档是正确的,只需禁用 metadataTrustCheck
并且不要将任何 public 证书导入 samlKeystore - 只需依赖元数据文档本身中的内容。
我目前正在实施 Spring SAMl 来配置我的 SP。我从 IDP 收到了一个元数据 XML,我把它放在了元数据文件夹中。
1.现在开始时我得到异常是没有配置IDP,所以发现这是由于证书无效。现在我只是将证书导入 samlKeystore.jks 并将 metadataTrustCheck = false
放入 ExtendedMetadataDelegate bean 中,这帮助我启动了 SP没有任何错误,我正在从 IDP 重定向到 SP,我可以实现我需要的。
2. 现在我刚刚删除了我保存在 samlKeystore.jks 中的 IDP 提供的 Certificates 并重新启动应用程序,然后也在那里IDP 和 SP 之间的通信没有问题。
我现在有一些疑问需要帮助才能理解。 从 IDP 提供给我的证书,我已经导入到我的 samlKeystore.jks,这些有什么用,因为响应带有来自 IDP 的签名和证书。为了验证响应,我们应该在响应中使用证书和签名。
我希望做 metadataTrustCheck = true
并更正 IDP 元数据吗?如果是,如何更正它,因为我有证书链。
您从 IDP 收到的元数据文档包含证书,IDP 将使用这些证书对发送给您的 SP 的 SAML 消息进行数字签名。无需将它们导入 samlKeystore.jks,因为它们已经存在于元数据中。
元数据文档本身也可以进行数字签名(以确保在它到达您之前没有人对其进行修改)。现在 metadataTrustCheck = true
Spring SAML 将尝试验证此签名是否有效,为此它需要知道是否信任用于创建签名的证书。
因此您需要与 Spring SAML 沟通您信任哪些证书来签署元数据文档 - 您可以通过将它们导入 samlKeystore.jks.
如果您相信您拥有的元数据文档是正确的,只需禁用 metadataTrustCheck
并且不要将任何 public 证书导入 samlKeystore - 只需依赖元数据文档本身中的内容。