首页 > 解决方案 > Spring 安全性从 saml XML 配置文件中的 java jdk 密钥库中引用 JKSKeyManager 密钥库

问题描述

我正在使用 spring security 的开放 saml 库进行身份验证。

我的服务提供者是我用 spring saml 配置的 spring web 应用程序。我的 IDP 是 OpenSSO。

在 spring-security-saml2-core 库中,但 JKSKeyManager 被调用。

.jks 密钥库文件路径如下。

<bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
        <constructor-arg value="file:/data/share/work/saml/samlKeystore.jks"/>
        <constructor-arg type="java.lang.String" value="TestWeb@"/>
        <constructor-arg>
        <map>
               <entry key="test" value="TestWeb@"/>
        </map>
        </constructor-arg>
        <constructor-arg type="java.lang.String" value="test"/>
</bean>

**而不是从服务器文件路径中引用密钥库 jks。首先我想将 jks 导入到 java jdk 密钥库。

sudo /usr/lib/jvm/java-1.8.0/bin/keytool -importcert -file samlKeystore.jks -alias samlKeystore -keystore /usr/lib/jvm/java-1.8.0/jre/lib/security/cacerts

然后我想从 java 中引用 jks 密钥库,如下所示。**

<bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">
        **<constructor-arg value="get from java keystore"/>**
        <constructor-arg type="java.lang.String" value="TestWeb@"/>
        <constructor-arg>
        <map>
               <entry key="test" value="TestWeb@"/>
        </map>
        </constructor-arg>
        <constructor-arg type="java.lang.String" value="test"/>
</bean>

标签: javaspringsecurityspring-securityspring-saml

解决方案


推荐阅读