Spring SAML2 IdP 证书更新

问题描述 投票:0回答:2

我们的 IdP 正在更新其 IdP 元数据中的证书。

他们提供一个月的期限,新旧证书都有效,以便我们可以切换到新证书。

问题是,每当他们更新证书时,我们都必须重新部署包含新证书的 IdP 元数据,其中包括我们希望尽可能避免的停机时间(服务器重新启动)。

我的问题是:

是否可以在不重新启动服务器的情况下切换到新的 IdP 元数据文件(在 Tomcat 7 中运行的 Java 应用程序)

或者,是否可以为同一个 IdP 使用 2 个元数据文件,一个使用新证书,一个使用旧证书,并在运行时切换到新证书?

spring saml-2.0 spring-saml
2个回答
2
投票

您可以将两个签名证书包含在同一 IDP 元数据中。 Spring SAML 将尝试使用所有可用证书验证传入消息上的签名,直到找到匹配或失败。同一 IdP 的两个文件将不起作用。

您可以使用 org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider,当其配置指向的文件更新时,它将自动重新加载元数据 - 无需重新启动应用程序。


0
投票

对于任何元数据文件更新/修改,我使用 FileSystem Watcher 服务销毁了现有的 MetadataProvider 并创建了新的 MetadataProvider。并且它立即重新加载了 IDP 证书。 FilesystemMetadataProvider 也工作正常,但即使在使用 ResourceBackedMetadataProvider 时,也可以使用 AbstractMetadataProvider 类中的 destroy 方法来重新加载证书。

© www.soinside.com 2019 - 2024. All rights reserved.