Главная страница \ Статьи \ Метод проб и ошибок \ Скрипты \ CURL и SSL в PHP

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 заработал так, как надо было и все остались счастливы.

Powered by Elise