@MarkLb

Как проблема вызывает ошибку, как её решить в CentOS7 при использовании PHP функции get_headers(): SSL operation failed with code 1(OpenSSL Error)?

Несколько дней начала возникать ошибка при использовании get_headers()/file_get_contents():
get_headers(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed


1) Проблема возникла из-за того, что на сервере есть некий сертификат и он устарел?

2) При попытке перейти к /etc/ssl/certs перебрасывает на /etc/pki/tls/certs. В нём лежат сертификаты:
/etc/pki/tls/certs

NqvU1o0.png

В директории на уровень выше есть сертификат cert.pem.
/etc/pki/tls

fg4IulJ.png

Какой из сертификатов следует обновить в моём случае?

3) Как происходит обновление сертификатов в CentOS 7? Могу ли я как-то воспользоваться услугами Let's Encrypt для этого?

P.S.
#1: cURL работает без проблем.
#2: Удаленные серверы, к которым идёт обращение имеют валидные сертификаты.
#3: Не хотел бы игнорировать сертификат - сообщается, что это вредит безопасности. Хотел бы решить проблему.
Игнорировать сертификат

'ssl' => [
        'cafile' => '/path/to/bundle/cacert.pem',
        'verify_peer'=> true,
        'verify_peer_name'=> true,
    ],



Спасибо.
  • Вопрос задан
  • 521 просмотр
Решения вопроса 1
@galaxy
Судя по размеру, у вас база CA вообще пустая.
yum update ca-certificates или yum reinstall ca-certificates
(или более подробно https://access.redhat.com/solutions/1549003)

Странно, конечно, что curl работает... Сделайте curl --cacert dummy_xxx https://www.google.com - должен показать используемую папку с CA сертификатами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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