Ошибка проверки 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). Современныев клиентысертификате (Python 3.7+, браузеры) требуют наличия SAN — поле CN (Common Name) уже недостаточно.сервера.
Диагностика
Проверить,Проверьте естьналичие ли SAN в сертификате сервера: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
После перевыпуска переустановить с новым сертификатом:
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
См.
Как проверить результат
openssl s_client -connect <адрес>:<порт> </dev/null 2>/dev/null \
| openssl x509 -noout -ext subjectAltName
Вывод содержит SAN с актуальными адресами сервера. Синхронизация завершается без ошибок.
Когда эскалироватьтакже
PKIТребованияуправляетсякзаказчикомсертификатам— перевыпуск сертификата требует его участия.
Ключевые слова
unable to get local issuer certificate, certificate verify failed, SAN, Subject Alternative Name, SSL, сертификат