Расположение сертификатов CA по умолчанию в PHP 5.3 - PullRequest
0 голосов
/ 14 мая 2018

Как найти местоположения сертификатов CA по умолчанию, используемые PHP 5.3?В PHP 5.6 и выше есть функция openssl_get_cert_locations, которая может ответить на этот вопрос.Но что будет эквивалентно в PHP 5.3?

1 Ответ

0 голосов
/ 15 мая 2018

Начиная с PHP 5.6 он будет автоматически определять, где находятся ваши сертификаты CA. В идеале вам следует обновиться до более новой версии PHP (7.1 будет хорошей целью для обновления).

Вот ссылки на конкретные RFC, которые более подробно охватывают тему и объясняют, почему и как были сделаны изменения в PHP> = 5.6:

Для чего-либо до PHP 5.6 вам нужно будет указать их вручную (либо найти их самостоятельно и указать их вручную, либо загрузить предварительно упакованный набор из источника, такого как https://curl.haxx.se/ca/cacert.pem, и добавить его в свой репозиторий кода).

Затем вручную укажите это в своем коде так:

// Using cURL
curl_setopt($curl, CURLOPT_CAINFO, 'path/to/cafile');

// or using file_get_contents
$context = stream_context_create([
    'ssl' => [
        'verify_peer' => true,
        'cafile'      => 'path/to/cafile',
        'CN_match'    => '[domain-you-are-contecting-to]'
    ]
]);
file_get_contents($url, false, $context);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...