Tengo un certificado SSL y una clave de una CA de confianza (no autofirmada). Esto me da los siguientes archivos en un sistema Fedora:
/etc/pki/tls/certs/mydomain.crt
/etc/pki/tls/certs/mydomain.csr
/etc/pki/tls/private/mydomain.key
Mi archivo sendmail.mc contiene estas líneas:
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
Tenga en cuenta que no tengo ningún .pem
que se muestran habitualmente en los ejemplos de cómo hacer funcionar TLS en sendmail.
Cuando inicio sendmail, me aparece este error:
Aug 22 15:10:17 cs sendmail[23424]: STARTTLS=server, error: SSL_CTX_use_PrivateKey_file(/etc/pki/tls/private/mydomain.key) failed
Supongo que la razón del error es que está buscando un .pem
pero sólo tengo un .key
archivo para dar. ¿Debo crear un .pem
¿archivo? Si es así, ¿cómo lo hago desde mis archivos existentes? Cuando intento ejecutar make mydomain.pem
quiere crear un CSR desde cero.
Solución
Como se señala más adelante, había una contraseña en el archivo de claves. La eliminé utilizando el programa openssl
y sendmail pudo cargar el archivo. También necesitaba iniciar saslauthd
para que todo funcione.