在我的ASP.NET Web应用程序中,我有时需要通过在地址中指定目标IP而不是域名来向HTTPS端点发出请求。这自然会导致证书错误。我想忽略这些证书问题并继续通过System.Net.Http.HttpClient类进行调用。
我有条件地需要这种行为,具体取决于请求。这就是为什么;
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
对我来说不是一个选择。因为它改变了全球的风尚。
如何指定基于每个请求忽略证书错误?
答案 0 :(得分:0)
您可以按每个请求进行操作,如下所示:
var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ServerCertificateCustomValidationCallback =
(httpRequestMessage, cert, cetChain, policyErrors) =>
{
return true;
};
var client = new HttpClient(handler);