Postfix 无法加载证书颁发机构数据错误

Postfix 无法加载证书颁发机构数据错误

我正在尝试使用 postfix 作为 gmail 中继

smtp 参数

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls=yes
smtp_tls_CAfile = /etc/ssl/ca-certificates.crt
smtp_tls_key_file=/etc/letsencrypt/live/MYDOMAIN.com/privkey.pem
smtp_tls_cert_file=/etc/letsencrypt/live/MYDOMAIN.com/cert.pem
smtp_tls_security_level=encrypt</id_string></id_string> 

邮件显示已正确发送,但实际上没有邮件送达,邮件日志中的问题似乎是由 TSL 错误引起的

 cannot load Certification Authority data, CAfile="/etc/ssl/ca-certificates.crt": disabling TLS support
 warning: TLS library problem: error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('/etc/ssl/ca-certificates.crt','r'):
 warning: TLS library problem: error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
 warning: TLS library problem: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:../crypto/x509/by_file.c:199:
 connect to smtp.gmail.com:25: Network is unreachable

该文件ca-certificates.crt存在于路径中/etc/ssl/,并且已存在于 Debian 发行版中

另一件奇怪的事情是,如果main.cf我尝试改变行

smtp_tls_CAfile = /etc/ssl/ca-certificates.crt

使用其他证书时,错误

cannot load Certification Authority data, CAfile="/etc/ssl/ca-certificates.crt": disabling TLS support

保持不变,而不是指向配置的证书名称,尽管使用了postfix reload,并systemctl restart postfix.service确保更新配置

我该如何修复这个错误?

答案1

在我的 Debian 机器(9、10 和 11)上,路径ca-certificates.crt是:

/etc/ssl/certs/ca-certificates.crt

这个应该是默认的,我没有改变。

在我的 postfix 安装中我甚至没有设置该smtp_tls_CAfile参数。如果您通过 Debian 包管理安装了 postfix 和 ca-certificates 包,它应该默认为正确的文件。

答案2

尝试> chmod 644 ca-certificates.crt 或验证证书包的正确布局

相关内容