最近项目开发需要调用安全性较高的一个https的站点的服务(第三方提供),但在开发过程中遇到“请求被中止: 未能创建 SSL/TLS 安全通道 ”的错误。在网上找了很多解决方法都没有解决,最后多方实践发现。由于对方提供的证书是几年前生成的公钥加密长度为512位,但是在新的SSL证书的行业标准要求使用的SSL证书中应当包含一个不小于2048位的公钥。网络安全行业正在走向更强的2048位加密,以帮助维护互联网安全。如果您拥有小于2048位密钥长度的1024位证书,则需要迁移到2048位密钥长度。
随后微软在2016年9月的安全更新响应这一问题,如果公钥长度小于2048字节(例如RSA 512),Windows可以取消HTTPS连接。安装的更新有:
2012 R2 and Windows 8
KB3185331
KB3188743
KB3174644
2008 R2 and Windows 7
KB3185278
KB3185330
KB3192391
KB3175024
KB3172605
由于对方拒绝修改任何关于证书的修改(谁叫我们是小公司),于是一种替代方法,卸载上面一个或多个更新,并重启电脑。奇迹就会发生!其实彻底的解决方法是设置公钥长度至少为2048位。这样符合SSL证书的行业标准,也更加安全。