带有 VS2008 SP1 的 TLS 1.1

TLS 1.1 with VS2008 SP1

我有一个使用 VS2008 SP1 构建的遗留 C++(非托管)应用程序。目前,它调用托管在 IIS 上的 Web 服务,并使用 SSLv3/TLS1.0 建立安全连接。我计划进行更改以使用 TLS 1.1 进行连接。在内部,我使用 WinINet 调用来建立连接。使用VS2008 SP1和TLS1.1有关系吗?我应该升级到不同版本的 VS(以获得新的 Windows SDK 吗?)只是为了支持 TLS 1.1,还是它可以与 VS2008 SP1 一起使用?有人遇到过此类问题吗?

WinInet 不是 VisualStudio 的一部分,因此无论您使用 VS2008 还是 VS2015 都没有关系。 我找不到明确的参考,但基本上你使用的是 IE 的库。 (一个很好的提示可以在 IPv6 部分找到,这里:https://msdn.microsoft.com/en-us/library/windows/desktop/aa385325(v=vs.85).aspx - "Starting with IE7 and above, WinINet supports IPv6 ...") 您可能已经遇到过,在没有安装 IE 的系统上,某些功能无法使用。

由于 WinInet (Windows / IE) 支持 TLS1.1(和 TLS1.2),您的程序应该可以正常工作。即使使用 VS2008。

强制连接使用 TLS1.1 或 1.2 是另一个问题;-)

如果您有权访问客户端计算机,只需通过类似 stunnel 或 vpn 的方式建立连接