【问题标题】:Google PHP API Client: CA cert errorGoogle PHP API 客户端:CA 证书错误
【发布时间】:2013-08-15 14:45:19
【问题描述】:

我正在尝试与 Google PHP API 客户端交互,但我遇到了 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);  

不会被接受...

【问题讨论】:

  • 我也遇到了同样的问题,也尝试了这两种解决方案,但它一直显示该错误消息!伙计们,请帮助我们!谢谢! :)

标签: php curl google-api


【解决方案1】:

由 webaware dot com dot au 的 rmckay 提供:

请大家停止将 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) 攻击,这是您不想要的!

【讨论】:

  • 不应选择其他答案。
  • 优秀的解决方案!有你需要知道的一切。
【解决方案2】:

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

【讨论】:

  • 产生可能的安全问题
【解决方案3】:

@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, ... );

【讨论】:

  • 产生可能的安全问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 2017-07-28
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
相关资源
最近更新 更多