一年多来,我一直在运营一个基于照片的网站,允许客户订购印刷品,随后由一家印刷公司完成。订单以XML格式发布到指定的URL。最近,我注意到订单没有投递,并且在检查服务器日志时发现了以下错误:
[Mon Dec 01 21:17:38 2014] [error] [client XXX] cURL error: [35] Cannot communicate securely with peer: no common encryption algorithm(s).印刷公司的技术团队能够为我提供一些方向,但我仍然感到困惑。最初他们告诉我,服务器目前只支持SSLv2、SSLv3和TLS1.0,而且我们可能只在我们这一端启用了TLS1.2。他们声称他们这一方什么都没有改变,我个人也知道我们的这几个月来没有任何改变。
当我最初遇到这个问题时,我试图更新服务器包,但这无法解决问题。后来我想,这个问题可能与亚马逊EC2实例的安全组有关,但我不能完全确定。假设TLS 1.0还没有启用,我该如何启用它?如何检查当前启用了哪些传输层安全性和安全套接字层?还有其他建议吗?
发布于 2014-12-11 07:41:55
如果您可以通过HTTP代理来路由流量,则可以安装Fiddler并查看TLS协商信息中的内容:

发布于 2014-12-11 15:33:46
默认情况下,在大多数系统上,libcurl已经可以很好地处理TLS 1.0了,如果这是服务器想要的话。
我怀疑您的问题是服务器坚持使用libcurl不同意的URL密码。更具体地说,我怀疑它是使用RC4的密码,而RC4被认为是不安全的,并且默认情况下被libcurl禁用。
https://stackoverflow.com/questions/27412444
复制相似问题