Назад | Перейти на главную страницу

Использование ключа доверенного сертификата и файлов crt для включения TLS в Sendmail

У меня есть сертификат SSL и ключ от доверенного центра сертификации (не самоподписанный). Это дает мне следующие файлы в системе Fedora:

/etc/pki/tls/certs/mydomain.crt
/etc/pki/tls/certs/mydomain.csr
/etc/pki/tls/private/mydomain.key

Мой файл sendmail.mc содержит следующие строки:

define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/mydomain.crt')dnl
define(`confSERVER_KEY', `/etc/pki/tls/private/mydomain.key')dnl

Обратите внимание, что у меня нет .pem файлы, которые обычно показаны в примерах того, как заставить TLS работать в sendmail.

Когда я запускаю sendmail, я получаю такую ​​ошибку:

Aug 22 15:10:17 cs sendmail[23424]: STARTTLS=server, error: SSL_CTX_use_PrivateKey_file(/etc/pki/tls/private/mydomain.key) failed

Я предполагаю, что причина ошибки в том, что он ищет .pem файл, но у меня есть только .key файл, чтобы дать. Должен ли я создать .pem файл? Если да, то как мне это сделать из существующих файлов? Когда я пытаюсь бежать make mydomain.pem он хочет создать CSR с нуля.

Решение

Как указано ниже, в ключевом файле был пароль. Я удалил его с помощью openssl команда и sendmail смогли загрузить файл. Мне также нужно было начать saslauthd чтобы все заработало.

Это выглядит правильно, файл .pem является сертификатом или открытым ключом, а также может быть .cer или .crt, насколько мне известно. Видеть этот похожий пост Чтобы получить больше информации.

Что касается фактической ошибки, связан ли с ключом пароль? У вас определенно есть файлы прямо сейчас? .Key должен начинаться с ---BEGIN PRIVATE KEY--- и .crt должен начинаться с ---BEGIN CERTIFICATE---