由于在EmptyKeyManager

时间:2015-11-12 14:02:40

标签: spring-security x509certificate spring-saml

我使用初始密钥管理器bean在我的应用程序中设置了saml上下文:

<!-- Central storage of cryptographic keys -->
<bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
    <constructor-arg value="classpath:security/samlKeystore.jks"/>
    <constructor-arg type="java.lang.String" value="nalle123"/>
    <constructor-arg>
        <map>
            <entry key="apollo" value="nalle123"/>
        </map>
    </constructor-arg>
    <constructor-arg type="java.lang.String" value="apollo"/>
</bean>

此配置适用于我的IDP。即,在验证传入的SAML消息后,它会成功验证用户身份。

另外,我尝试用 EmptyKeyManager 实现简单地替换此管理器,但出现上述错误。

在将这些更改部署到生产之前,很少有人会知道这些问题:)。

  • 如何考虑我的IDP对samlKeystore.jks导入的默认公钥一无所知?
  • 如果我的配置不需要,如何使用EmptyKeyManager正确替换keyManager的初始实现?

1 个答案:

答案 0 :(得分:2)

您可以在手册(chapter 8.1)中找到,只有在您的应用程序不需要创建数字签名时才能使用EmptyKeyManager。您提到的错误表明Spring SAML确实需要在您的使用模式中创建一个。也许你正在使用HTTP-Artifact绑定并要求签署传出的ArtifactRequest消息?

本手册还会显示将当前keyManager替换为EmptyKeyManager的确切配置行。