Как безопасно подключить сертификат?

Пытаюсь безопасно подключить сертификат для curl типа:
$crt = '
Сертификат
';

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://domain.pw/check_code.php");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CAINFO, $crt);
curl_setopt($curl, CURLOPT_CERTINFO, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'data=key');
$result = curl_exec($curl);
curl_close($curl);


Вот так работает:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://domain.pw/check_code.php");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_CAINFO, 'global.crt');//Имя файла сертификата
curl_setopt($curl, CURLOPT_CERTINFO, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'data=key');
$result = curl_exec($curl);
curl_close($curl);


Возможно ли вообще сделать как в первом коде?
  • Вопрос задан
  • 262 просмотра
Пригласить эксперта
Ответы на вопрос 1
@red_led
Документация подсказывает, что так сделать нельзя.

P. S. Я конечно, опасно некомпетентен в криптографии, но вы уверены, что хранить сертификат в php хоть сколько то безопаснее, чем в отдельном файле? Примечание в документации к CURLOPT_CAINFO гласит "Требует абсолютный путь.", что как бы намекает, что стоит положить его куда-нибудь подальше от www и успокоиться.

P. P. S. Если вдруг вы получаете сертификат налету, то придётся положить его в файл, тут уж ничего не поделаешь(
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы