У меня есть сертификат 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---