Skip to main content

SSL — unable to get local issuer certificate (отсутствует SAN)


title: SSL — unable to get local issuer certificate (отсутствует SAN) slug: ts-ssl-unable-to-get-local-issuer tags: [ssl, unable to get local issuer, SAN, subject alternative name, сертификат] domain: Troubleshooting type: Troubleshooting audience: partner-engineer product_versions: "4.x" status: ready related_components: [Мониторинг, ПринтМенеджер] related_pages:

  • trebovaniya-k-ssl-sertifikatam related_errors:
"[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:"

SSL — unable to get local issuer certificate (отсутствует SAN)

Симптомы

В логах при синхронизации Мониторинг–ПринтМенеджер или подключении компонентов:

[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 в сертификате сервера:

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

Если нет возможности перевыпустить сертификат — перейти на автоматические сертификаты (установка без SSL-параметров). Автоматические сертификаты содержат SAN и не вызывают этой ошибки.


Как проверить результат

openssl s_client -connect <адрес>:<порт> </dev/null 2>/dev/null \
  | openssl x509 -noout -ext subjectAltName

Вывод содержит SAN с актуальными адресами сервера. Синхронизация завершается без ошибок.


Когда эскалировать

  • PKI управляется заказчиком — перевыпуск сертификата требует его участия.
  • После перевыпуска с SAN ошибка сохраняется.

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