将证书安装到Local Computer
存储Trusted Root Certification Authorities
之后,.NET WebRequest
仍会抛出:
The request was aborted: Could not create SSL/TLS secure channel
ServicePointManager.SecurityProtocol
现在包含SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls
。
在阅读SimonDugré的回答https://stackoverflow.com/a/2904963/121968后,我已经设定了:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
一切正常。 回头后:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
它仍然正常工作。我有两个问题:
为什么它仍然有效?有没有缓存?
为什么以前只使用旗帜Ssl3
而不是
同时使用Ssl3
和Tls
?
答案 0 :(得分:1)
有SSL / TLS会话恢复,可能就是你的情况。 也许你没有共享的TLS1密码套件。 检查的最佳方法是运行Wireshark,并查看连接的SSL数据包,它们在Wireshark中有很好的解释。
答案 1 :(得分:0)
我的解决方案是添加以下行:
ServicePointManager.Expect100Continue = True
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 Or SecurityProtocolType.Tls