如何验证翻转证书?

时间:2016-05-24 20:56:53

标签: c# azure certificate saml-2.0 rollover

我想验证来自SAML断言的证书(由AZURE AD发布)

他们可以随时翻转公钥。我假设它意味着我无法在受信任的根存储库中手动管理它们。

我正在使用X509Certificate2.Verify(),如果证书不在受信任的根存储中,则返回False。我应该使用X509Certificate2.Build()并将其设置为忽略它是否可信?

1 个答案:

答案 0 :(得分:0)

SAML2使用证书作为使用标准文件格式表示加密/签名密钥的便捷方式。证书的内容不相关,因为证书应在相关各方之间直接交换。因此,无需验证证书的有效性,在许多部署中甚至无法验证。

使用定期执行密钥翻转的Idp,您应该加载并信任Idp的元数据,而不是直接配置证书。

如果您自己实施所有这些,我建议您花一些时间寻找现有的实施方案。制作支持加载元数据的完整SAML2实现非常重要,并且需要花费大量时间。