問題:
由於 SSL 憑證不受信任,將 Windows 8 應用程式連接到測試 Web API 失敗。 目標是找到類似於與 ServerCertificateValidationCallback
一起使用的 WebRequest
方法的解決方法。
解:
以下是如何在 .NET Standard 中使用 HttpClient
繞過 SSL 憑證驗證,提供與 WebRequest
方法類似的功能:
實例化HttpClientHandler
:
<code class="language-csharp">var handler = new HttpClientHandler();</code>
設定ClientCertificateOptions
:
<code class="language-csharp">handler.ClientCertificateOptions = ClientCertificateOption.Manual;</code>
實作自訂憑證驗證: 總是回傳 true
的 lambda 表達式會停用憑證驗證:
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = (_, __, ___, ____) => true;</code>
建立 HttpClient
: 使用修改後的處理程序建立 HttpClient
實例:
<code class="language-csharp">var client = new HttpClient(handler);</code>
此方法允許透過忽略憑證驗證來連接到測試 API。 但是,重要的是要了解這會顯著降低安全性並使您的應用程式容易受到中間人攻擊。 僅在受控測試環境中使用此功能,切勿在生產中使用。
以上是在 .NET Standard 中使用 HttpClient 時如何忽略不受信任的 SSL 憑證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!