Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 022 004 раза!

Форум

Добро пожаловать, Гость!

Обновление корневых CA

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
Подлый Б.
Сообщения: 1
C нами: 2 года 3 мес

Непрочитанное сообщение Подлый Б. » 08 сен 2014, 23:30

Здравствуйте!
Столкнулся с тем, что при обращении по https с помощью curl к некоторому сайту (vk.com на секундочку) вываливается ошибка "SSL certificate problem: self signed certificate in certificate chain"
Известно, что можно обойти эту проблему, выставив CURLOPT_SSL_VERIFYPEER=false, однако такое решение идеологически неверно, ибо сводит безопасность https к нулю.
Другое решение проблемы - обновить список корневых сертификатов. Разработчики curl предоставляют свежий список (http://curl.haxx.se/docs/sslcerts.html). Но мне никак не удаётся понять, откуда curl в данной сборке PHP берёт корневые сертификаты, поэтому не могу их заменить.
Кто-нибудь знает, как с этим справиться?

Windows 7, Open Server 1.5.1, PHP любой версии,

P.S. На линуксе (причём какой-то старой сборке PHP) проблема не возникает.

Аватара пользователя
Dragon_Knight
Сообщения: 581
C нами: 4 года 3 мес
Контакты:

Непрочитанное сообщение Dragon_Knight » 09 сен 2014, 00:44

Ну получаете сертификат у регистратора и подсовываете его в cURL через CURLOPT_CAINFO... Как-то так:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cacert.pem');

Аватара пользователя
Asmodey
Сообщения: 299
C нами: 4 года 7 мес

Непрочитанное сообщение Asmodey » 09 сен 2014, 08:00

Подлый Б. писал(а):ибо сводит безопасность https к нулю.


С чего Вы это взяли? Он их просто не верифицирует, но вполне себе пользует.
В чём разница верификации со слитым ручками и положенным рядышком (как предлагают выше)?


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей