Skip to main content

Ошибка проверки SSL-сертификата: unable to get local issuer certificate

Симптом

В логах компонентов появляется ошибка:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
unable to get local issuer certificate

ПричинаПричины

Не удалось проверить цепочку доверия SSL-сертификата.

ОднойВозможные изпричины:

возможных
причин является отсутствиеОтсутствие поля Subject Alternative Name (SAN) в сертификате сервера. Отсутствие данных о поставщике (центр сертификации, CA) в сертификате сервера.

Диагностика

Проверьте наличие SAN:

openssl x509 -in /path/to/server.crt -noout -ext subjectAltName

Норма: вывод содержит DNS: или IP: записи. Ошибка: пустой вывод или No extensions in certificate — SAN отсутствует.

Решение

Решением

Перевыпуститьявляется сертификатперевыпуск сертификата с полем SAN. В SAN указать все адреса сервера:

DNS:server.example.com
DNS:server
IP:10.0.0.1

Проверьте наличие данных о поставщике сертификата.

В Windows откройте данные по сертификату, перейдите во вкладку «Путь сертификации» и обратите внимание на цепочку: сертификат сервера должен быть вторым от CA-сертификата. Если CA-сертификата в цепочке нет - возникнет ошибке проверки сертификата сервера.

Screenshot_1.png

Решением является перевыпуск сертификата с корректной цепочкой сертификации (наличие данных о центре сертификации).

После перевыпускаперевыпуска, переустановитьнужно внедрить сертификаты методом обновления Мониторинга и\или ПринтМенеджера.

Пример офлайн обновления с новымуказанием сертификатом:переменных для установки собственных сертификатов:

sudo curl -L https://s3.printum.io/box/monitoring/install.sh | \
  sudo -E SSL_CERT=/path/server.crt \
       SSL_KEY=/path/server.key \ SSL_CERT_CA=/path/ca.crt bash -s agent./install.sh

Связанные страницы