我找到了几个关于如何从URL检索证书信息的主题,例如:这一个:https://stackoverflow.com/a/2941934/1682946。
但所有这些解决方案仅在证书可信时才有效。否则,在调用request.GetResponse()时会出现异常。 但是,我需要在不受信任的情况下获取证书颁发者和过期数据。 我想向我的应用程序的用户显示错误,并向他提供有关所提供的ssl证书的信息。
答案 0 :(得分:2)
也许你可以挂钩证书验证回调来检查证书的属性:
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();