Google API API API: ошибка сертификата CA
Я пытаюсь взаимодействовать с клиентом API Google PHP, и у меня возникают проблемы с сертификатом, предоставленным 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);
не будет приемлемым...
Ответы
Ответ 1
Предоставлено rmckay на веб-сайте 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), который вы не хотите!
Ответ 2
\ Google_Client:: $io- > setOptions (массив (CURLOPT_SSL_VERIFYPEER = > FALSE));
Ответ 3
@sKophek верен, и я ценю помощь, поскольку я боролся с этим. Для тех, кто предпочитает более подробно сенсорный, вот он: (это правда, по крайней мере, для версии google-api-php-клиента 0.6.x)
1)\google-api-php-client\src\io\Google_CurlIO.php
2)
private $curlParams = array (
...
CURLOPT_SSL_VERIFYPEER => false,
... );