概述
IdP 轮换签名证书时,若服务提供方仍只信任旧密钥,所有登录会同时失败。定期刷新元数据并在重叠窗口内同时信任新旧证书,可把一次潜在的全面故障变为平滑过渡。
关键步骤
- 获取并保存 IdP 元数据及其签名证书。
- 按计划并在证书过期前刷新元数据。
- 在重叠窗口内同时信任当前与下一个证书。
- 校验每个断言签名,拒绝未签名或无效断言。
验证
- 证书轮换期间登录不受影响。
- 未签名断言无法建立会话。
- 元数据抓取失败时仍保留上次可用密钥。
- 过期证书会在失效前被替换。
注意事项
- 元数据刷新依赖 IdP 提供稳定且签名的元数据端点。
- 重叠窗口内同时信任两个密钥,按设计会短暂扩大有效签名者集合。
适用范围
本条目围绕「自动刷新 SAML 元数据」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
xmllint --xpath '//*[local-name()="X509Certificate"]/text()' idp-metadata.xml
# trust current + next cert during the overlap window