Skip to main content

SSL — self signed certificate in certificate chain

Симптомы

В логах ПринтМенеджер при синхронизации с М:

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
self signed certificate in certificate chain

Синхронизация Мониторинг–ПринтМенеджер не работает.


Причина

В файл server.crt включено содержимое корневого сертификата (CA). Это нарушает структуру цепочки доверия — корневой сертификат должен быть отдельным файлом (ca.crt), а не частью серверного сертификата.


Диагностика

Проверить, сколько сертификатов содержится в файле server.crt:

grep -c "BEGIN CERTIFICATE" /path/to/server.crt

Норма: 1 (серверный сертификат) или 2 (серверный + промежуточный CA). Ошибка: 3 и более — скорее всего, включён корневой сертификат.


Решение

Разделить сертификаты:

  • server.crt — только серверный сертификат (и промежуточный CA, если есть).
  • ca.crt — только корневой сертификат.

Переустановить с корректно разделёнными файлами:

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

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

sudo docker logs printmanager-celery-print-queue --tail=50 | grep -i ssl

Ошибок SSL нет. Синхронизация завершается успешно.


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

  • Структура сертификатов исправлена, но ошибка сохраняется.
  • Неизвестно, какой сертификат является корневым — потребуется помощь владельца PKI.

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