Google PHP API客户端:CA cert错误

时间:2013-08-15 14:45:20

标签: php curl google-api

我正在尝试与Google PHP API客户端进行交互,但我遇到了Google提供的证书问题:

Google错误:

SSL certificate problem, verify that the CA cert is OK.
Retrying with the CA cert bundle from google-api-php-client. 

PHP cURL错误:

SSL certificate problem: unable to get local issuer certificate

我在Linux机器上遇到了没有问题。这些错误发生在Windows机器上。

我尝试了几种不同的解决方案:

https://code.google.com/
http://richardwarrender.com/

但无济于事。

PS:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  

是不可接受的......

3 个答案:

答案 0 :(得分:24)

友情提供rmckay at webaware dot com dot au:

请大家,停止将CURLOPT_SSL_VERIFYPEER设置为false或0.如果您的PHP安装没有最新的CA根证书包,请在curl网站下载并将其保存在您的服务器上:

http://curl.haxx.se/docs/caextract.html

然后在php.ini文件中设置一个路径,例如在Windows上:

curl.cainfo=c:\php\cacert.pem

关闭CURLOPT_SSL_VERIFYPEER允许中间人(MITM)攻击,这是您不想要的!

答案 1 :(得分:-1)

\ Google_Client :: $ io-> setOptions(array(CURLOPT_SSL_VERIFYPEER => FALSE));

答案 2 :(得分:-4)

@sKophek是正确的,我很感激帮助,因为我正在努力解决这个问题。对于那些喜欢触摸更多细节的人来说,这里是:(至少,对于google-api-php-client的0.6.x版本,这是真的)

1)\ google-api-php-client \ src \ io \ Google_CurlIO.php

2) private $curlParams = array ( ... CURLOPT_SSL_VERIFYPEER => false, ... );