解決“The remote certificate is invalid according to the validation procedure”問題

weixin_34126215發表於2014-02-03

在用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>

 

相關文章