Вопрос или проблема
Когда я пытаюсь отправить уведомление через 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, причина может заключаться в отсутствии или неправильной настройке набора корневых сертификатов.
Решение проблемы
-
Обновление набора корневых сертификатов:
Поскольку вы уже упомянули, что вам удалось решить проблему, обновив набор CA-сертификатов, лучше всего проверить, есть ли у вас актуальная версия файлаca-certificates
.Для этого выполните следующие команды:
sudo dnf update ca-certificates
-
Проверка конфигурации:
Убедитесь, что настройки 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
-
Проверка путей к сертификатам:
Убедитесь, что пути к сертификатам указаны верно и файлы действительно существуют. Используйте команду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
-
Перезагрузка служб:
После внесения изменений, не забудьте перезагрузить сервер OpenProject и, если это необходимо, HTTPD:sudo systemctl restart openproject sudo systemctl restart httpd
-
Дополнительное диагностирование с 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 для получения более детальной информации о возникшей ошибке.