Postfix + Gmail。证书验证失败

Postfix + Gmail。证书验证失败

我已经设置我的系统通过 Gmail 发送电子邮件。

只要我可以发送电子邮件,系统就可以正常工作,但是我收到有关安全证书的错误。

这是 mail.log 中的一个示例条目:

    Oct 29 12:17:27 durban postfix/smtp[20742]: setting up TLS connection
    to smtp.gmail.com[209.85.143.108]:587

    Oct 29 12:17:27 durban postfix/smtp[20742]: certificate verification
    failed for smtp.gmail.com[209.85.143.108]:587: untrusted issuer
    /C=US/O=Equifax/OU=Equifax Secure Certificate Authority

    Oct 29 12:17:27 durban postfix/smtp[20742]: Untrusted TLS connection
    established to smtp.gmail.com[209.85.143.108]:587: TLSv1 with cipher
    RC4-SHA (128/128 bits)

    Oct 29 12:17:29 durban postfix/smtp[20742]: BA4852A1BFA:
    to=<[email protected]>, relay=smtp.gmail.com[209.85.143.108]:587,
    delay=2.9, delays=0.1/0.1/1.3/1.4, dsn=2.0.0, status=sent (250 2.0.0
    OK 1319887049 l20sm20686943wbo.6)

我在 Google 上搜索了这个问题,发现其他遇到这个问题的人都能够通过更新 /etc/postfix 目录中名为 cacert.pem 的文件来解决这个问题。

在我的 main.cf 中,我有以下行(其中包括):

smtpd_tls_CAfile=/etc/postfix/cacert.pem

我有这个文件:

-rw-r--r-- 1 root root 2298 2011-10-29 12:16 cacert.pem

我使用以下命令填充了此文件:

# cat /usr/lib/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
# cat /usr/lib/ssl/certs/Thawte_Premium_Server_CA.pem >>
      /etc/postfix/cacert.pem

我相信第一行就足够了,第二行(证书)是不再使用的旧证书(由谷歌使用)。

我不知道还能改变什么,也不知道还要搜索什么或检查哪些日志文件。

任何提示都值得赞赏。

答案1

我遇到了同样的问题,当我发出“postconf |grep smtp|grep CA”时,所有变量都是空的:smtp_tls_CAfile = smtp_tls_CApath = smtpd_tls_CAfile = smtpd_tls_CApath =

以下是我修复它的方法;

我假设您的 Ubuntu 安装创建了包含互联网上所有已知 CA 的 CA 路径:/etc/ssl/certs,并且 Equifax 就在那里。

您的 Postfix 配置中缺少的是路径分析: smtp_tls_CApath = /etc/ssl/certs

之后,Postfix 将能够验证 smtp.gmail.com 的证书是否为合法 CA,因为它在 /etc/ssl/certs 目录中有该证书。

答案2

我认为您的问题是您设置的smtpd_tls_CAfile不是smtp_tls_CAfile

您可以使用自签名证书进行 Postfix TLS 配置。

答案3

我的配置和你一样。但除了

smtpd_tls_CAfile=/etc/postfix/cacert.pem

我的后缀中也有main.cf

smtp_tls_CAfile=/etc/postfix/cacert.pem

尝试添加此额外行。您可能需要将其添加为此块的一部分:

smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_cert_file = /etc/postfix/FOO-cert.pem
smtp_tls_key_file = /etc/postfix/FOO-key.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_use_tls = yes

答案4

我遇到了类似的问题,在以下帮助下解决了该问题这篇博文

补救措施似乎是我只需要一个有效的 SSL 证书(而不是自签名证书),然后我将 StartSSL 和 Equifax CA 捆绑在一起。

相关内容