https 請求被中止: 未能建立 SSL/TLS 安全通道
阿新 • • 發佈:2019-01-27
WebClient 呼叫本地P12證書,之前一直報錯,後面找了N多資料,終於在stackOverFlow找到了蛛絲馬跡,下面一定要用X509Certificate2 這個證書類,記得帶了"2",
如果不帶,本地電腦或IE、程式 兩者都必須要註冊證書!!!
這事情折騰了我一整天!
internal class MyWebClient : WebClient
{protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
if (address.AbsoluteUri.ToLower().StartsWith("https:"))
{
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate X509certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
{
return true;
};
X509Certificate2
request.ClientCertificates.Add(certificate);
}
request.Timeout = 600000;//設定超時為10分鐘
request.ReadWriteTimeout = 600000;
return request;
}
}