我试图做HTTPS GET使用客户端证书认证请求的响应创建SSL通道和它失败.NET 4.7失败时服务器TLS 1.1
The request was aborted: Could not create SSL/TLS secure channel.
我试图使用Java和相同的请求它工作正常,我看到的Java日志以下(剥离只有趣的部分):
*** ClientHello, TLSv1.2
main, WRITE: TLSv1.2 Handshake, length = 185
....
*** ServerHello, TLSv1.1
main, READ: TLSv1.1 Handshake, length = 3339
这是我理解的手段,由于某种原因,该服务器不支持TLS 1.2,但客户端接受这一点,只是秋天支持TLS 1.1。
当我设置
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
.NET正常工作了。 现在的问题 - 为什么.NET不像Java一样回退到TLS 1.1,我可以以某种方式启用该回退(不实际尝试TLS 1.2,捕获异常并尝试使用TLS 1.1)?
集SecurityProtocol到SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12? – Evk
您在运行此代码的机器上安装的Windows版本是什么? – Evk
Windows 10 15063.608 – Giedrius