我的 exim 服务器显示以下错误:来自 xxxx.xxxx.xxxx 的连接出现 TLS 错误。([127.0.0.1])[xxx.xxx.xxx.xxx](gnutls_handshake):收到 TLS 致命警报。
我正在使用简单的身份验证,我的设置是:
plain_server:
driver = plaintext
public_name = PLAIN
server_condition = "${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
server_set_id = $auth2
server_prompts = :
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
期待任何帮助或指点
提前致谢
答案1
如果您正在运行 exim 安装,则原因就是 GnuTLS。解决方案位于http://blog.josefsson.org/2009/04/16/cacert-and-gnutls/。
输入以下命令
apt-get install gnutls-bin
有gnutls-cli
可用。gnutls-cli -s -p 25 YOURSMTPHOST
(开始与您的邮件服务器的会话)ehlo foo
starttls
- 按 CTRL+d (
^d
)
然后你会看到类似
- The hostname in the certificate does NOT match 'example.org'
那么证书的主题与服务器不匹配YOURSMTPHOST
。就我而言,我连接到了flupp.de
,但CN
证书的 是*.flupp.de
。我将其更改flupp.de
为mail.flupp.de
,然后一切又恢复正常。
答案2
让我猜一下:您已针对 GnuTLS 进行编译,您正在与之通信的邮件服务器是 GMX.de 或 web.de,问题开始于几周前?这两家提供商都针对 NSA 问题启用了 TLS,但他们做得并不好。
作为一种解决方法,您可以针对容忍度更高的 OpenSSL 编译 exim,但请注意,问题出在 GMX 和 web.de。