在Windows 8中解決HttpClient的SSL憑證問題
在Windows 8應用程式透過SSL與測試Web API建立通訊時,由於憑證不受信任,開發人員經常會遇到挑戰。與WebRequest不同,HttpClient和HttpClientHandler缺乏直接繞過此類問題的選項。為了解決這個問題,以下描述了.NET Standard程式庫的一個簡單解決方案,並承認了盲目信任憑證所固有的風險。
在此方法中,將建立一個新的HttpClientHandler,並將ClientCertificateOptions設為Manual。隨後,透過ServerCertificateCustomValidationCallback指定自訂驗證回呼。在此回呼中,無條件傳回true值,有效地忽略不受信任的憑證錯誤。
<code>var handler = new HttpClientHandler(); handler.ClientCertificateOptions = ClientCertificateOption.Manual; handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, cetChain, policyErrors) => { return true; }; var client = new HttpClient(handler);</code>
透過實現此解決方案,開發人員可以與他們的Web API建立成功的SSL連接,儘管存在不受信任的憑證。但是,必須注意的是,這種方法涉及有意信任所有證書,這可能不適用於安全環境,應謹慎處理。
以上是在 Windows 8 中使用 HttpClient 時如何繞過不受信任的 SSL 憑證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!