使用可信证书密钥和crt文件在Sendmail中启用TLS

我有一个来自可信CA的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文件给。 我应该创build一个.pem文件吗? 如果是这样,我怎么从我现有的文件做到这一点? 当我尝试运行make mydomain.pem它想要从头创build一个CSR。

如下所示,密钥文件上有一个密码。 我使用openssl命令将其删除,sendmail能够加载该文件。 我还需要启动saslauthd才能使所有的工作。

这看起来是正确的,.pem文件是证书或公钥,也可以是.cer或.crt据我所知。 看到这个类似的职位了解更多信息。

关于实际的错误,密钥是否有与之相关的密码? 你肯定有文件马上? .key应该从---BEGIN PRIVATE KEY---开始---BEGIN CERTIFICATE--- .crt应该以---BEGIN CERTIFICATE---