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