我们需要在 IDP 发起的 SSO (SAML) 中使用 Keystore/JKSKeyManager 吗?

kot*_*acc 4 opensaml saml-2.0 spring-saml

我已经使用 Spring-SAML 扩展成功实现了 SSO 身份验证。我们支持 IDP 发起的 SSO 到我们的应用程序的主要要求。好吧,通过使用 spring-security-saml2-sample 中的配置,甚至 SP 启动的 SSO 流程也适用于我们。

问题:密钥库是否用于 IDP 发起的 SSO(如果元数据有证书)?如果不使用,我想从securityContext.xml 中删除密钥库配置。

注意:我们不需要 SP 发起的 SSO 和全局注销。我们使用 Okta 作为 IDP。

Vla*_*fer 5

这是一个很好的功能请求。我已经为您打开了https://jira.spring.io/browse/SES-160,并且在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"/>