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

Do we need Keystore/JKSKeyManager in IDP initiated SSO (SAML)?

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

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

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

这是一个很好的功能请求。我用以下文档打开了 https://jira.spring.io/browse/SES-160 for you and support is available in Spring SAML's trunk

In case your application doesn't need to create digital signatures and/or decrypt incoming messages, it is possible to use an empty implementation of the keystore which doesn't require any JKS file - org.springframework.security.saml.key.EmptyKeyManager. This can be the case for example when using only IDP-Initialized single sign-on. Please note that when using the EmptyKeyManager some of Spring SAML features will be unavailable. This includes at least SP-initialized Single Sign-on, Single Logout, usage of additional keys in ExtendedMetadata and verification of metadata signatures. Use the following bean in order to initialize the EmptyKeyManager:

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