【问题标题】:Why is cacerts ignored in Spring Saml?为什么在 Spring Saml 中忽略 cacerts?
【发布时间】:2016-08-21 11:11:33
【问题描述】:

我已经基于此使用 FilesystemMetadataProvider 进行了实现:https://github.com/vdenotaris/spring-boot-security-saml-sample

为了使 SSL 握手对工件绑定起作用,我必须在 keyManager 使用的 java 密钥库中放置/信任 IDP 的 CA 证书。

我宁愿使用 jre 上的 cacerts 以防 IDP 更改 CA,但我无法找到任何要设置的属性,以便 Spring SAML 改为在其中查找。

这个答案也表明 cacert 被忽略了: Spring Security SAML - HTTPS connections

为什么在 Spring SAML 中忽略了 cacert?这对我来说似乎是一个不足。

我已检查 IDP 的 CA 是否在我的 jre 的 cacert 文件中。如果我从配置中删除与 TLS/socket 工厂相关的 bean,它仍然会失败。

【问题讨论】:

    标签: spring-saml opensaml


    【解决方案1】:

    是的,cacerts 被忽略。 Spring SAML 使用自定义实现来处理信任,目的是提供对系统安全性的更多控制。您始终可以轻松地将所有证书从 cacerts 复制到 samlKeystore。

    【讨论】:

    • 哦,Vladimir Schäfer 回答了我的问题!是的,我这样做了,很高兴确认这是“正确”的方式。虽然我更愿意设置一个属性来使用 jre 中的 cacerts
    【解决方案2】:

    您的自定义证书/JDK 默认证书必须将 IDP 证书导入为 trust 。 您在 JKS 管理器中使用的自定义证书必须至少有一个私钥。 请在 JDK_PATH/jre/lib/securitycacerts 中导入您的信任并尝试命令 wget <your_idp_descriptor_url>

    【讨论】:

    • 我听不懂你在说什么。为了使工件绑定的 SSL 握手起作用,我必须将 IDP 的 CA 的公共 SSL 证书放在 jks.xml 中。我希望 spring saml 改为查看 cacert。 CA 证书已经在 jre 中的 cacert 文件中
    猜你喜欢
    • 2015-07-15
    • 2021-03-11
    • 2018-06-14
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多