gpt4 book ai didi

.net - 在较旧的 Windows 系统上使用 TLS1.2

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:43 25 4
gpt4 key购买 nike

我有一个用 .Net Framework 2.0 编写的 Windows 程序,它与专有服务器应用程序通信。服务器最近更新为使用 TLS1.2 进行安全通信,我的客户端程序无法再与其通信。

谷歌搜索发现了几个来源,表明 TLS1.2 仅受 Window 7、Windows 2008 R2 和更高版本的系统支持。这些消息来源谈论的是服务器,而不是客户端,但听起来我还是很不走运,除非我在 Win7 或更高版本上运行我的客户端 - 底层 schannel.dll 根本不支持 TLS1.2 协议(protocol)。

所以我的问题是:

有没有办法让我的程序在较旧的 Windows 系统上运行时使用 TLS1.2 进行通信?

最佳答案

我怀疑您是否可以不加改动地使用当前应用程序在旧版本的 Windows 上提供 TLS1.2(或 TLS1.1)。 .Net Framework 使用操作系统的底层 schannel 实现,此库没有更新,并且可能永远不会更新支持 TLS1.1 或 TLS1.2 的 Vista 或更低版本。

您可以尝试使用不同的 SSL 库,例如不受 schannel 限制的 OpenSSL 或 NSS(由 Firefox 和 Chrome 使用)。在 http://sourceforge.net/projects/openssl-net/ 处似乎有一个用于 .NET 的 OpenSSL 接口(interface)。 ,但这声称只支持 OpenSSL 1.0.0d,因此还不支持 TLS1.2(在 OpenSSL 1.0.1 中引入)。所以也许没有办法用 .Net 做到这一点。

另一件可以做的事情是将服务器设置为不仅支持 TLS1.2,还支持 TLS1.0。如果您使用正确的密码,这在大多数情况下仍能提供足够的安全性(那里的大多数服务器仅使用 TLS1.0)。通常它是服务器上支持多个 TLS 版本的简单设置,因此它会尽可能使用 TLS1.2,但如果客户端不支持 TLS1.2,则降级到 TLS1.0。

关于.net - 在较旧的 Windows 系统上使用 TLS1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com