【问题标题】:Spring Security SAML - Signature and DecryptionSpring Security SAML - 签名和解密
【发布时间】:2015-09-23 07:49:13
【问题描述】:

我正在尝试将 Spring Security SAML 用作我的一个项目的 SP。 SAML2.0 断言来自第 3 方系统,并已获得数字签名,并且断言已加密。

我尝试使用两个证书/密钥(一个用于签名,一个用于加密)创建一个 Java 密钥存储,但它不起作用。如果我只有一个用于签名或解密的 jks,其中一个可以工作。在使用两个证书/密钥的签名和解密的任何地方都找不到任何示例。下面是 JKSKeymanager 配置。任何帮助将不胜感激。

这不起作用

<beans:bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
        <beans:constructor-arg value="file:${config.location}/defaultSAMLKeyStore.jks"/>
        <beans:constructor-arg type="java.lang.String" value="Welcome1"/>
        <beans:constructor-arg>
            <beans:map>
                <beans:entry key="samlAssertionEncryption" value="Welcome1"/>
                <beans:entry key="samlSignature" value="Welcome1"/>
            </beans:map>
        </beans:constructor-arg>
        <beans:constructor-arg type="java.lang.String" value="samlSignature"/>
</beans:bean>

我们交换密钥时签名/(或)解密的工作原理

<beans:bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
        <beans:constructor-arg value="file:${config.location}/defaultSAMLKeyStore.jks"/>
        <beans:constructor-arg type="java.lang.String" value="Welcome1"/>
        <beans:constructor-arg>
            <beans:map>
                <beans:entry key="samlSignature" value="Welcome1"/>
            </beans:map>
        </beans:constructor-arg>
        <beans:constructor-arg type="java.lang.String" value="samlSignature"/>
</beans:bean>

【问题讨论】:

  • @Vladimír Schäfer - 你能帮我解决这个问题吗?

标签: spring-security saml-2.0 spring-saml


【解决方案1】:

花了一些时间后,我发现这不是问题。签名验证不需要 JKS 密钥库,因为它使用 SAML 响应/元数据中的证书数据/方法进行验证。我们目前唯一需要的密钥库是用于解密断言,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 2015-03-27
    • 2018-03-16
    • 2014-11-27
    • 2015-03-04
    • 2019-01-16
    • 2020-05-31
    • 2019-11-24
    相关资源
    最近更新 更多