在用HttpClient發起https請求時,遭遇了“The remote certificate is invalid according to the validation procedure”異常,異常資訊如下:
Exception Details: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure. [AuthenticationException: The remote certificate is invalid according to the validation procedure.] System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) +8622023 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) +225 [WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.] System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context) +3564749 System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar) +155
HttpClient呼叫程式碼如下:
var httpClient = new HttpClient(); var httpContent = new FormUrlEncodedContent(new Dictionary<string, string> { {"grant_type", "client_credentials"} }); var response = await httpClient.PostAsync("https://...", httpContent);
解決方法:
在web.config中新增如下的配置:
<system.net> <settings> <servicePointManager checkCertificateName="false" checkCertificateRevocationList="false" /> </settings> </system.net>