Клиент Google PHP API: ошибка сертификата CA
Я пытаюсь взаимодействовать с клиентом 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:
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 answers
Любезно предоставлено rmckay в webaware точка com точка au:
Пожалуйста, все, прекратите устанавливать CURLOPT_SSL_VERIFYPEER в значение false или 0. Если в вашей установке PHP нет обновленного пакета корневых сертификатов центра сертификации, загрузите его на веб-сайте curl и сохраните на своем сервере:
Http://curl.haxx.se/docs/caextract.html
Затем укажите путь к нему в вашем файле php.ini
, например, в Windows:
curl.cainfo=c:\php\cacert.pem
Отключение CURLOPT_SSL_VERIFYPEER
позволяет человеку посередине (MITM) атаки, которых вы не хотите!
\Google_Client::$io->Настройки(массив(CURLOPT_SSL_VERIFYPEER=>ЛОЖЬ));
@Skophek прав, и я ценю помощь, поскольку я боролся с этим. Для тех, кто предпочитает немного больше деталей, вот оно: (это верно, по крайней мере, для версии 0.6.x google-api-php-клиента)
1)\google-api-php-client\src\io\Google_CurlIO.php
2)
private $curlParams = array (
...
CURLOPT_SSL_VERIFYPEER => false,
... );