无法在TLS 1.2客户机上使用密码套件
我有2台桌面机(Windows 7)。一个是我的开发机器,另一个是我的测试机器。我做了一个桌面应用程序。它使用Web请求连接服务器。我正在使用TLS1.2进行连接,HTTPClient(C#)已用于编码级别。无法在TLS 1.2客户机上使用密码套件
我的问题是,服务器期待TLS1.2连接,并只允许密码套装TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384。现在我的开发机器(它也有相同的操作系统,即Windows 7和相同的.Net框架4.6.1)工作正常,而我的测试机器没有。
为了进一步挖掘它,我收集了wireshark的日志,我可以看到,在“客户端问候语”和“服务器问候语”之后我可以看到一台机器,它启动密码规范交换,但它不会在测试机器中发生。
我也试着看到密码套装的列表,看起来这个套件在两台机器上都可用。然而,我的测试机器中密码套装的数量较少(可能是缺少自动更新的情况)。我在这里附上了所有屏幕截图。有人可以指导我这里出了什么问题。
截屏的工作机: - For working machine
这是不是问题的答案,但我需要发布其他这是非常需要我的问题2的屏幕截图。
For my testing machine where it is not working
List of cypher suit where it is not working
如果这里是任何其他方式张贴有关这些链接,我会很乐意。
我遇到了类似的问题,我想可能是,试图连接到需要TLS 1.2的服务......我的记忆很模糊,但我相信我的开发计算机没有问题,我故意禁用了注册表中的TLS 1.2以外的所有内容。但是从不同的机器,它不会连接,因为HTTPClient在默认情况下试图使用ssl3。我必须先做到这一点:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;