PHP CURLSSLOPT_NATIVE_CA возвращает «Проблема с сертификатом SSL: невозможно получить сертификат локального эмитента»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP CURLSSLOPT_NATIVE_CA возвращает «Проблема с сертификатом SSL: невозможно получить сертификат локального эмитента»

Сообщение Anonymous »

Я пытаюсь получить доступ к URL-адресу, имеющему сертификат SSL, и использовать https с помощью php curl в среде Windows Server 2016. Параметры завитка в php-коде установлены следующим образом:

Код: Выделить всё

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://awebsite.com",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_SSL_OPTIONS => CURLSSLOPT_NATIVE_CA,
]);

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
Приведенный выше код Curl возвращает следующую ошибку: Проблема с SSL-сертификатом: невозможно получить сертификат локального эмитента
Версия PHP — 8.3.12 и версия расширения Curl – 8.7.0.
Расширение php_openssl.dll включено в php.ini.
Определен 'CURLSSLOPT_NATIVE_CA': я проверил это с помощью функции php 'defined'
Если я приму альтернативное решение, установив в файле php.ini файл curl.cainfo в файл cacert.pem, загруженный из проекта Curl (в этом случае CURLOPT_SSL_OPTIONS не установлен), я я могу получить доступ к URL-адресу.
Я бы использовал опцию CURLSSLOPT_NATIVE_CA, но кажется, что этот параметр либо игнорируется, либо php/curl не может получить доступ к корневым сертификатам системы, определенным в Windows Serves.Может быть, не хватает каких-то настроек в среде Windows и/или PHP?
Иначе, чем еще исправить эту беду?

Подробнее здесь: https://stackoverflow.com/questions/790 ... et-local-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»