C# 如何获取服务器证书在.NET HttpClient中无效的原因?

C# 如何获取服务器证书在.NET HttpClient中无效的原因?,c#,.net,https,C#,.net,Https,所以关于这个异常有很多答案,但大多数答案似乎都是通过说“不要使用无效的证书”来解决的 很公平,但我知道证书被视为无效的原因可能有很多(请参见:),但提到的异常只是告诉我们“它无效”,我没有找到关于该异常的任何属性以及更多详细信息 所以代码可能看起来像这样。如何找出证书被视为无效的原因?甚至可以使用HttpClient吗?或者我必须以另一种方式检查证书吗 Security.Authentication.AuthenticationException: The remote certificate

所以关于这个异常有很多答案,但大多数答案似乎都是通过说“不要使用无效的证书”来解决的

很公平,但我知道证书被视为无效的原因可能有很多(请参见:),但提到的异常只是告诉我们“它无效”,我没有找到关于该异常的任何属性以及更多详细信息

所以代码可能看起来像这样。如何找出证书被视为无效的原因?甚至可以使用HttpClient吗?或者我必须以另一种方式检查证书吗

Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure
这里写得很好:

基本上,您可以发出一个web请求并处理服务器证书验证回调,在这里您可以找到SSL错误的原因

var client = new HttpClient();
try
{
    using (var msg = new HttpRequestMessage(HttpMethod.Get, "https://expired.badssl.com/"))
    {
        using (var response = await client.SendAsync(msg))
        {
            // do stuff with the response
        }
    }
}
catch (AuthenticationException ex)
{
    // why is the certificate invalid?
}