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

使用受信任的证书密钥和 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在 sendmail 中使 TLS 运行的示例中通常显示的任何文件。

当我启动 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才能让一切正常工作。

答案1

看起来是正确的,.pem 文件是证书或公钥,据我所知,也可以是 .cer 或 .crt。请参阅这篇类似的帖子了解更多信息。

关于实际错误,密钥是否与密码相关联?您确实有文件吗?.key 应该以 开头,---BEGIN PRIVATE KEY---.crt 应该以---BEGIN CERTIFICATE---

相关内容