asp.net 身份验证失败,因为远程方在调用第三方API时发送了TLS警报

wbgh16ku  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(268)

我有一个Blazor服务器应用程序正在使用IHttpClientFactory调用第三方API。当我在本地Windows 11计算机上执行调用代码时,收到以下异常。但是,如果我从Azure Web App运行相同的代码,则成功调用了该API。

Error: System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
  System.Security.Authentication.AuthenticationException: Authentication failed because the remote party sent a TLS alert: '112'.

我已尝试使用ServicePointManager将安全协议设置为TLS1.2,但这没有任何影响。我已运行Wireshark收集一些其他信息,但我所能看到的只是我的机器正在使用TLS 1.2发起呼叫。
有人知道为什么我的代码可以在Azure中工作,而不能在我的本地开发环境中工作吗?

kxe2p93d

kxe2p93d1#

根据Azure Web应用程序中的行为,我认为问题应该与环境有关。
而且如果你有另一个os版本的pc,你可以测试一下,它应该是正常工作的。
我在win11中找到了解决办法。你可以添加注册表项并删除代码来将协议设置为tls1. 2,tls握手在你的Windows 11系统中工作。

相关问题