Ошибка невозможности получения сертификата местного издателя в CentOS 9

Вопрос или проблема

Когда я пытаюсь отправить уведомление через OpenProject в CentOS 9, я получаю ошибку:

сертификат не может быть проверен (невозможно получить сертификат локального удостоверяющего центра)

Когда я пытаюсь протестировать напрямую с помощью OpenSSL, я могу достучаться до SMTP-сервера, и ошибка не возникает.

Команда OpenSSL, которая работает:

openssl s_client -CApath /etc/ssl/certs -starttls smtp -connect serer:587 -cert /etc/ssl/certs/tls-cert.pem -key /etc/ssl/certs/tls-cert.key -CAfile tls-cert-bundle.pem -servername "ServerName"

Кто-нибудь знает, почему я получаю эту ошибку?

П.С.: Я проверил файл конфигурации HTTPD для OpenProject, и он указывает правильный путь к TLS сертификату.

Мне удалось решить проблему, мне просто нужно было обновить ca-store с помощью пакета, вот и все.

Ответ или решение

При возникновении ошибки "certificate verify failed (unable to get local issuer certificate)" в CentOS 9 при отправке уведомлений через OpenProject, причина может заключаться в отсутствии или неправильной настройке набора корневых сертификатов.

Решение проблемы

  1. Обновление набора корневых сертификатов:
    Поскольку вы уже упомянули, что вам удалось решить проблему, обновив набор CA-сертификатов, лучше всего проверить, есть ли у вас актуальная версия файла ca-certificates.

    Для этого выполните следующие команды:

    sudo dnf update ca-certificates
  2. Проверка конфигурации:
    Убедитесь, что настройки OpenProject правильно указывают на ваши сертификаты. Откройте файл конфигурации HTTPD OpenProject и проверьте параметры, связанные с TLS.

    Пример конфигурации в файле httpd.conf может выглядеть следующим образом:

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/tls-cert.pem
    SSLCertificateKeyFile /etc/ssl/certs/tls-cert.key
    SSLCertificateChainFile /etc/ssl/certs/tls-cert-bundle.pem
  3. Проверка путей к сертификатам:
    Убедитесь, что пути к сертификатам указаны верно и файлы действительно существуют. Используйте команду ls для проверки:

    ls -l /etc/ssl/certs/tls-cert.pem
    ls -l /etc/ssl/certs/tls-cert.key
    ls -l /etc/ssl/certs/tls-cert-bundle.pem
  4. Перезагрузка служб:
    После внесения изменений, не забудьте перезагрузить сервер OpenProject и, если это необходимо, HTTPD:

    sudo systemctl restart openproject
    sudo systemctl restart httpd
  5. Дополнительное диагностирование с OpenSSL:
    Если проблема не исчезает, вы также можете проверить и диагностировать использование OpenSSL, чтобы убедиться, что сервер правильно настроен для работы с сертификатами. Например:

    openssl s_client -connect ваш_сервер:587 -starttls smtp -CAfile /etc/ssl/certs/tls-cert-bundle.pem

    Это позволит вам проверить, правильно ли выполняется проверка цепочки сертификатов.

Заключение

Надеюсь, эти шаги помогут вам полностью устранить ошибку "unable to get local issuer certificate". Если у вас все еще возникают проблемы, возможно, стоит дополнительно проверить лог-файлы OpenProject и HTTPD для получения более детальной информации о возникшей ошибке.

Оцените материал
Добавить комментарий

Капча загружается...