Azure AD 的 LogoutResponse 证书问题
Posted
技术标签:
【中文标题】Azure AD 的 LogoutResponse 证书问题【英文标题】:Certificate issue on LogoutResponse from Azure AD 【发布时间】:2022-01-15 03:43:50 【问题描述】:作为服务提供商,我们使用包“ITfoxtec Identity Saml2”来处理 SAML2.0。我们有两个使用 AzureAD 作为 IDP 的集成。两者在处理来自 Azure 的 LogoutResponse 时都有问题。发生此异常:
System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=Microsoft Azure Federated SSO Certificate chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
避免这个问题的唯一方法是设置
Saml2Configuration.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None;
但据我了解,这将停用所有证书验证,在处理 AuthnRequest 时也是如此。
知道如何规避这个问题吗?
【问题讨论】:
【参考方案1】:停用证书更改验证可能没问题。验证仅检查证书是否具有依赖方已知的链。这意味着必须在依赖方服务/服务器上知道根证书。
【讨论】:
所以你是说即使我设置 CertificateValidationMode = None,签名仍然会根据 IDP 证书进行验证? CertificateValidationMode 只确保证书是否可信? 是的,正确。 ITfoxtec Identity Saml2 组件始终使用证书验证签名。 非常感谢您的帮助!您创建的优秀图书馆。以上是关于Azure AD 的 LogoutResponse 证书问题的主要内容,如果未能解决你的问题,请参考以下文章
Azure AD B2C 与企业 (Azure?) AD 帐户集成
Windows Azure AD 在单一目录下,使用Azure AD单点登录
Azure AD User 同步_部署Azure AD Connect考量点
Azure AD 应用程序未出现在 Azure Web 应用程序的现有 AD 应用程序列表中