問題:
信頼できない 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
を返すラムダ式は、証明書検証を無効にします:
<code class="language-csharp">handler.ServerCertificateCustomValidationCallback = (_, __, ___, ____) => true;</code>
Create HttpClient
: 変更したハンドラーを使用して HttpClient
インスタンスを作成します:
<code class="language-csharp">var client = new HttpClient(handler);</code>
このメソッドは、証明書の検証を無視してテスト API への接続を許可します。 ただし、これによりセキュリティが大幅に低下し、アプリケーションが中間者攻撃に対して脆弱になることを理解することが重要です。 これは管理されたテスト環境でのみ使用し、運用環境では決して使用しないでください。
以上が.NET Standard で HttpClient を使用するときに信頼できない SSL 証明書を無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。