Spring security Spring Security SAML-签名和解密

Spring security Spring Security SAML-签名和解密,spring-security,saml-2.0,spring-saml,Spring Security,Saml 2.0,Spring Saml,我正在尝试使用SpringSecuritySAML作为我的一个项目的SP。SAML2.0断言来自第三方系统,具有数字签名,并且断言是加密的 我试图用两个证书/密钥(一个用于签名,一个用于加密)创建一个Java密钥存储,但它不起作用。如果我只有一个jks用于签名或解密,其中一个就可以了。在任何地方都找不到使用两个证书/密钥进行签名和解密的示例。下面是JKSKeymanager配置。任何帮助都将不胜感激 哪个不起作用 <beans:bean id="keyManager" class="org

我正在尝试使用SpringSecuritySAML作为我的一个项目的SP。SAML2.0断言来自第三方系统,具有数字签名,并且断言是加密的

我试图用两个证书/密钥(一个用于签名,一个用于加密)创建一个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>


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

@Vladimír Schäfer-您能在这方面帮助我吗?