我发现了几个关于如何从 URL 检索证书信息的主题,例如这一个:https://stackoverflow.com/a/2941934/1682946 .
但是所有这些解决方案只有在证书可信的情况下才有效。否则,在调用 request.GetResponse() 时会出现异常。 但是,如果证书不受信任,我需要获取证书颁发者和过期数据。 我想向我的应用程序的用户显示错误并向他提供有关所提供的 ssl 证书的信息。
最佳答案
也许您可以 Hook 证书验证回调来检查证书的属性:
request.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => {
// investigate certificate parameter
X509Certificate2 x509 = new X509Certificate2(certificate);
Console.WriteLine("Certificate expired on: {0}", x509.NotAfter);
return true; // true to bypass, false otherwise
};
...
request.GetResponse();
关于c# 如何从不受信任的服务器读取证书信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31662679/