繁体   English   中英

在旧版Windows系统上使用TLS1.2

[英]Using TLS1.2 on older Windows system

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

一次Google搜索显示了一些来源,这些信息表明TLS1.2仅受Window 7,Windows 2008 R2和更高版本的系统支持。 这些消息来源是在谈论服务器,而不是客户端,但是除非我在Win7或更高版本上运行客户端,否则听起来还是很不走运-底层schannel.dll根本不支持TLS1.2协议。

所以我的问题是:

在较旧的Windows系统上运行时,是否可以让我的程序使用TLS1.2进行通信?

我怀疑您是否可以使用当前应用程序,而不在旧版本的Windows上提供TLS1.2(或TLS1.1)。 .Net Framework使用操作系统的基础schannel实现,并且没有对该库进行更新,并且对于支持TLS1.1或TLS1.2的Vista或更低版本,可能永远不会更新。

您可能会尝试使用不受限制schannel约束的其他SSL库,例如OpenSSL或NSS(由Firefox和Chrome使用)。 http://sourceforge.net/projects/openssl-net/上似乎有一个适用于.NET的OpenSSL接口,但这仅声称支持OpenSSL 1.0.0d,因此尚不支持TLS1.2(已引入在OpenSSL 1.0.1中)。 因此,也许无法通过.Net做到这一点。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM