在 .NET HttpClient 中使用不受信任的憑證
使用 HttpClient
和 HttpClientHandler
存取 HTTPS API 在處理自簽章或其他不受信任的憑證時可能會帶來挑戰。 與 WebRequest
不同,HttpClient
不直接支援以簡單的方式繞過憑證驗證。
此解決方案概述如何在 .NET Standard 環境中處理不受信任的憑證:
<code class="language-csharp">var handler = new HttpClientHandler();</code>
<code class="language-csharp">handler.ClientCertificateOptions = ClientCertificateOption.Manual;</code>
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = (httpRequestMessage, cert, certChain, policyErrors) => { return true; // Accepts all certificates - use with caution! };</code>
<code class="language-csharp">var client = new HttpClient(handler);</code>
重要的安全注意事項:
此方法停用證書驗證。 雖然對於開發或測試很有用,但切勿在生產環境中使用它。 繞過憑證驗證會使您的應用程式面臨重大安全風險,包括中間人攻擊。 始終優先考慮在生產應用程式中使用可信任證書,以維護安全性和資料完整性。
以上是如何使用HttpClient存取不可信證書的HTTPS API?的詳細內容。更多資訊請關注PHP中文網其他相關文章!