IDP初始化SSO,如何配置没有私有密钥的密码

时间:2015-07-17 21:17:17

标签: single-sign-on saml-2.0 spring-saml

我正在使用spring-security saml扩展来为我的应用程序实现IDP启动的SSO。我正在使用https协议,签名/加密是开启的。我不需要SLO / SP启动的SSO。

在传输层的加密/解密(因为使用HTTPS协议),我很好,因为我的Web容器(SP one)将负责解密部分。此证书可能与SP的证书不同。

在SP端,我需要IDP的公钥来验证SAMLAuthResponse Msg上的签名,我将其作为IDP元数据文件的一部分......所以这里没有问题。

qns夫妇:

  1. 为了解密SAMLAuthResponse消息,我需要SP吗? 证书的私钥?
  2. 如果我需要私钥,怎么做 我有jks文件时为keyManager创建bean定义, jks-pwd,别名,但私有密钥没有pwd?我可以在alias-password值对中的密码字段中传递空字符串(如“”)。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以跳过私钥的使用。您可以在manual chapter 8.1

中找到有关如何在没有密钥库的情况下使用Spring SAML的详细信息
  

如果您的应用程序不需要创建数字签名   和/或解密传入的消息,可以使用空的   实现不需要任何JKS文件的密钥库 -   org.springframework.security.saml.key.EmptyKeyManager。这可以是   例如,仅使用IDP初始化单点登录时的情况。   请注意,当使用EmptyKeyManager时,一些Spring SAML   功能将无法使用。这包括至少SP初始化   单点登录,单点注销,使用其他密钥   ExtendedMetadata和元数据签名验证。使用   以下bean为了初始化EmptyKeyManager:

<bean id="keyManager" class="org.springframework.security.saml.key.EmptyKeyManager"/>