问题:
由于 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中文网其他相关文章!