2012-09-18 107 views
0

突然间,我通过SSL访问网站的PHP cURL实现停止工作。在卷曲响应头一些周围挖掘后,我发现,这个问题的卷曲不喜欢的网站的SSL证书,给错误的结果:cURL停止为HTTPS网站工作

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

现在我没有与其他网站进行测试,我知道有将Mozilla的证书添加到cURL的解决方案。但为了让东西起作用,我只是添加了一个新的cURL选项来禁用SSL有效性检查(CURLOPT_SSL_VERIFYHOS)。

但我仍然困惑,这将如何在一天内停止工作。它昨天有效。网站上的证书没有变化,它仍然是一个有效的,未过期的,Verisign颁发的证书。

+0

那么一定有什么改变?也许给一些关于PHP/curl版本和操作系统的信息。我会再次拿到CA证书,你的证书包可能是洗脑的东西。良好的资源:http://curl.haxx.se/docs/sslcerts.html – ficuscr

回答

0

过这种情况给我上个月为好,唯一的原因是有问题的SSL证书过期。所以我只是更新了它,并且curl ssl链接再次运行。如果您碰巧处理自签名证书,则这是同样的交易顺序,您可以导入它或切换验证。

这是我唯一能想到的事情,但你说你已经证实了......奇怪。是否有机会窥视该网站的证书或是私密的?如果你没有改变任何东西,几乎可以肯定的是,SSL证书发生了什么。

0

尝试在卷曲
CURLOPT_SSL_VERIFYPEER这两个选项,FALSE
CURLOPT_SSL_VERIFYHOST,2