【问题标题】:Do we need Keystore/JKSKeyManager in IDP initiated SSO (SAML)?我们是否需要 IDP 发起的 SSO (SAML) 中的 Keystore/JKSKeyManager?
【发布时间】:2015-04-20 17:11:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: saml-2.0 spring-saml opensaml


    【解决方案1】:

    这是一个很好的功能请求。我已经为您打开了https://jira.spring.io/browse/SES-160,并通过以下文档在Spring SAML's trunk 中提供支持:

    如果您的应用程序不需要创建数字签名 和/或解密传入的消息,可以使用空的 不需要任何 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"/>

    【讨论】:

    • 谢谢@Vladimír。很高兴您已将其添加为功能。我认为此功能仅在将来的版本中可用。与任何以前的 Spring SAML 版本一起使用,创建我们自己的 EmptyKeyManager 听起来不错,就像您宁愿扩展 JKSKeyManager 一样?
    • 是的,您可以通过简单地包含 EmptyKeyManager 类将其反向移植到以前的版本。如果您使用示例模块中的 MetadataController,您还需要将其依赖关系从 JKSKeyManager 更改为 KeyManager。
    猜你喜欢
    • 1970-01-01
    • 2014-12-11
    • 2015-07-11
    • 2022-01-23
    • 1970-01-01
    • 2019-12-22
    • 2019-09-05
    • 2020-12-22
    • 1970-01-01
    相关资源
    最近更新 更多