【发布时间】:2018-08-17 08:41:10
【问题描述】:
我有一个与 WCF 服务对话的 .NET 控制台应用程序。然后,WCF 服务对外部提供程序进行 Web 服务调用。外部提供商即将关闭对低于 TLS 1.2 的任何内容的支持
我的两个应用程序都使用 .NET 框架 4.6,我相信它会自动协商最高安全协议
外部提供商说我仍在使用 TLS 1.0 进行通信
我已经在我们的一个应用服务器上安装了 fiddler 来尝试看看发生了什么,这是一个屏幕截图
我是 fiddler 的新手,是不是说我的客户端应用程序正在尝试以 TLS 1.2 进行连接,但服务器以 TLS 1.0 响应?
【问题讨论】:
-
是的,你是对的。我不确定您所看到的是否准确,因为 Fiddler 正在 MITM 连接。使用 Wireshark,而不是 fiddler。
-
如果您的网站在 Internet 上,请使用 SSL Labs 准确检查它支持的协议 (ssllabs.com/ssltest/analyze.html)
-
根据我的经验,即使使用 .NET 4.6,您也需要设置一些 TLS 注册表项才能使 TLS 1.2 正常工作。我们最近在这里写过它:blog.thelevelup.com/pci-security-is-your-restaurant-ready 你可以从 GitHub 下载TLS Patcher 来帮助配置。
-
除了 Wireshark 之外,您还可以使用 Microsoft Netmon 来验证 TLS 版本协商。下面是使用 Netmon 验证 TLS 版本和应用 TLS 配置的教程:blog.thelevelup.com/pci-security-is-your-restaurant-ready