CURL и SSL в PHP
Начав написание очередного скрипта я столкнулся с проблемой. CURL наотрез отказывался соединяться с сервером через SSL. Если быть точным - то он с ним соединялся, но вылетал с ошибками.
Первая ошибка была такая:
SSL certificate problem, verify that the CA cert is OK
Проблема была решена установкой параметра CURLOPT_SSL_VERIFYPEER в отрицательное значение, чтобы CURL не проводил проверку сертификата сервера.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
Вторая ошибка была такая:
SSL: certificate subject name 'hostname.ru' does not match target host name '123.123.123.123'
Ошибка также не давала нормально взаимодействовать с сервером через HTTPS соединение. Решение проблемы было опять же в установка параметра. Но на этот раз параметр запрещает сверять данные о хосте сертификата. Этот параметр называется CURLOPT_SSL_VERIFYHOST. А установка его выглядит так:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
Вот и все. После таких нехитрых манипуляций CURL заработал так, как надо было и все остались счастливы.