C#证书固定
如何最好地验证WebClient中的证书 目前,我有以下几点:C#证书固定,c#,validation,ssl,certificate,webclient,C#,Validation,Ssl,Certificate,Webclient,如何最好地验证WebClient中的证书 目前,我有以下几点: class SafeClient : WebClient { protected override WebRequest GetWebRequest(Uri address) { var request = base.GetWebRequest(address); byte[] embeddedCert; using (Stream certStream = Asse
class SafeClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
byte[] embeddedCert;
using (Stream certStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Test.Resources.test.pfx"))
{
embeddedCert = new byte[certStream.Length];
certStream.Read(embeddedCert, 0, (int)certStream.Length);
}
var cert = new X509Certificate2(embeddedCert, "Pass");
(request as HttpWebRequest).ClientCertificates.Add(cert);
return request;
}
}
但是如何在服务器的响应中检查证书。我不希望任何人都能读/写回应/请求white Charles或
提前向您表示感谢,并向您表示来自德国的问候。如果我正确理解您的目的,您希望在提出请求后获得有关服务器证书的信息 为此HttpWebRequest提供一名特别代表 因此,您的代码可能如下所示:
var request = (HttpWebRequest)WebRequest.Create("https://");
request.ServerCertificateValidationCallback += (sender, cert, chain, error) =>
{
//TODO:implement your custom logic
};
我希望,这个链接也会对你有用。