Проблема с сертификатом SSL для Unirest for PHP: невозможно получить сертификат локального эмитента

Если вы получите эту ошибку, сообщение будет очень конкретным, и вам нужно будет предоставить вашему дистрибутиву PHP действительный сертификат, поскольку вы пытаетесь получить доступ к защищенному ресурсу с небезопасной начальной точки.

Эта ошибка распространена, если вы работаете локально в вашем проекте.

Однако, если вы спешите и работаете локально, вы можете просто отключить проверку однорангового узла, чтобы проигнорировать это предупреждение.

Перед выполнением вашего основного кода установите для свойства verifyPeer значение false:

Замечания : перед тестированием прочитайте раздел «почему это происходит» и риски, которые у него есть.

Почему это происходит

libcurl по умолчанию выполняет проверку однорангового SSL-сертификата. Это делается с помощью хранилища сертификатов CA, которое библиотека SSL может использовать, чтобы убедиться, что сертификат сервера равноправен.

Если вы общаетесь с HTTPS, FTPS или другой TLS-используя серверы, использующие сертификаты, которые подписаны центрами сертификации, присутствующими в хранилище, вы можете быть уверены, что это действительно тот удаленный сервер.

Как упоминалось ранее, есть 2 решения:

  1. Скажите cURL, чтобы не проверять пира. С libcurl вы отключите это с curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);

    С помощью инструмента командной строки curl вы отключите это с -k / - небезопасно.

  2. Получите сертификат CA, который может подтвердить удаленный сервер, и используйте соответствующую опцию, чтобы указать этот сертификат CA для проверки при подключении. Для хакеров libcurl: curl_easy_setopt(curl, CURLOPT_CAPATH, capath);

    С помощью инструмента командной строки curl: --cacert [file].

Однако, поскольку мы используем unirest, библиотека выполняет тот же эффект, что и первая опция, использующая verifyPeer(false) метод.

Вы должны использовать опцию 2, поскольку именно она обеспечивает соединение с защищенным сервером.

Ссылка на основную публикацию
Adblock
detector