使用 Saml 2 元数据管理翻转

Managing rollover with Saml 2 metadata

我们正在努力实现我们的 saml 2 服务提供商签名证书的平滑更新。

我们已经在未来的滚动日期创建了带有 notBefore 的新证书。这些证书与当前用于签署 saml 消息的证书一起公开在我们的元数据端点上。它们还无效,因为 notBefore 属性 是在未来。我们的服务提供商将在它们生效后开始使用它们。

但是,一些合作伙伴的身份提供商存在问题,抱怨新证书尚未生效。

所以我的问题如下:我们是否允许公开未来尚未生效的证书?如果不是,我们应该如何管理 saml 2 中的签名证书轮转?

遗憾的是,SAML 规范并未说明应如何处理证书滚动更新。因此,没有一致的方法。

你所做的似乎是合理的,但我也能理解为什么一些合作伙伴会抱怨证书(尚未)有效。

一些提供商只是在证书更新时更新他们发布的 SAML 元数据。换句话说,元数据仅包含当前证书,而不包含任何过去或未来的证书。这让合作伙伴有责任确保他们监控元数据并立即切换证书。

当然,这并不总是可行的。根据我的经验,通常最好与合作伙伴沟通证书将在特定日期更新并在该日期之前向他们提供新证书 and/or 元数据。合作伙伴应在滚动日期前后的一段时间内处理新证书或旧证书生成的签名,以确保顺利过渡。在滚动日期,您还将发布新的元数据。

您可能希望旧证书的 NotAfter 和新证书的 NotBefore 之间有重叠。