Win7 组件上的 TLS/SSL RestSharp 突然失败

问题描述 投票:0回答:1

我正在运行 C# WPF net Framework 4.7.2 应用程序,该应用程序已在 1200 台计算机上运行了大约 18 个月。

就在今天早上,我接到了支持电话,因为许多计算机无法加载我们的应用程序。

在调试中,我们发现 RestSharp 在获取安全通道时遇到问题:

请求被中止:无法创建 SSL/TLS 安全通道。 没有预期数据

经过更多研究,我发现似乎受影响的计算机都是 WINDOWS 7 计算机。

我的 RestSharp 代码中有这个:

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

(以防万一有人提到它)

问题几天前才开始,但我似乎找不到解决方案。

当用户加载我们的网站时,它工作正常,所以它似乎与 RestSharp 或网络框架更新有关??

任何人都可以告诉我如何解决这个问题或进一步诊断,因为我是一家初创公司,现在确实无法让这些系统离线。

我确实意识到 Windows 7 已经过时了,但它已经运行了 18 个月,所以我的客户不会接受我说“获取新的电脑”作为答案。

非常感谢您的建议。

wpf tls1.2 restsharp .net-4.7.2
1个回答
0
投票

您的客户可以使用管理员权限运行某些东西吗?如果是这样,请尝试使用此 PS 脚本启用 TLS 1.2:

New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force
New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'Enabled' -value '1' –PropertyType 'DWORD'
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -name 'DisabledByDefault' -value '0' –PropertyType 'DWORD'
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'Enabled' -value '1' –PropertyType 'DWORD'
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -name 'DisabledByDefault' -value '0' –PropertyType 'DWORD'
Write-Host 'Enabling TLSv1.2'

这对我有用。 MS 正在加大 W7 的使用难度(显然他们希望你升级)。

© www.soinside.com 2019 - 2024. All rights reserved.