Eu tenho um certificado SSL e uma chave de uma CA confiável (não auto-assinada). Isso me dá os seguintes arquivos em um sistema Fedora:
/etc/pki/tls/certs/mydomain.crt
/etc/pki/tls/certs/mydomain.csr
/etc/pki/tls/private/mydomain.key
Meu arquivo sendmail.mc contém estas linhas:
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
Note que eu não tenho nenhum arquivo .pem
que é comumente mostrado em exemplos de como fazer o TLS funcionar no sendmail.
Quando inicio o sendmail, recebo este erro:
Aug 22 15:10:17 cs sendmail[23424]: STARTTLS=server, error: SSL_CTX_use_PrivateKey_file(/etc/pki/tls/private/mydomain.key) failed
Eu assumo que o motivo do erro é que ele está procurando por um arquivo .pem
, mas eu só tenho um arquivo .key
para dar. Devo criar um arquivo .pem
? Em caso afirmativo, como faço isso de meus arquivos existentes? Quando tento executar o make mydomain.pem
, ele quer criar um CSR a partir do zero.
Solução
Como apontado abaixo, havia uma senha no arquivo de chaves. Eu o removi usando o comando openssl
e o sendmail conseguiu carregar o arquivo. Eu também precisava iniciar saslauthd
para que tudo funcionasse.