客户端没有提供证书(Postfix)

Dav*_*d A 3 ssl postfix centos starttls

我有使用 TLS 选项配置的 postfix SMTP 中继。现在刚刚意识到在使用 Microsoft Outlook 向 gmail 发送电子邮件(例如)时,在收件人的邮件标题上发现此“客户端未提供证书”

Received: from MYCOMPUTER (unknown [100.200.100.150]) (using TLSv1.2 with密码(256/256 位))(客户端未提供证书)由 smtpserver.domain.com(后缀)与 ESMPSA ID ABCDE12345 for user@gmail.com

我使用从 Comodo 购买的通配符 SSL 证书。

我可以知道为什么吗?我配置错了吗?

请帮忙

smtpd_tls_security_level =可以
smtp_tls_security_level =可以
smtpd_use_tls =是
smtp_use_tls =是
smtp_tls_note_starttls_offer =是
smtpd_tls_auth_only =是

smtpd_tls_key_file = /etc/postfix/certs/key.key
smtpd_tls_cert_file = /etc/postfix/certs/crt.crt
smtpd_tls_CAfile = /等/后缀/证书/cabundle.ca-bundle

smtpd_tls_loglevel = 1
smtpd_tls_received_header =是
smtpd_tls_session_cache_timeout = 3600
smtpd_tls_ask_ccert =是
tls_random_source = dev的是:/ dev / urandom的
smtpd_tls_session_cache_database = B树:$ {data_directory} / smtpd_scache
smtp_tls_session_cache_database = B树:$ {data_directory} / smtp_scache

smtp inet n - n - - smtpd submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes

HBr*_*ijn 5

using TLSv1.2 with cipher (256/256 bits)

服务器支持 TLS,客户端选择协商一个安全的 TLS 连接,一切都很好。

(Client did not present a certificate)

客户没有使用TLS客户端证书验证自己到服务器相互TLS,除非你想这是很常见的,没有理由担心,/需要做的相互TLS


Ste*_*ich 5

您只配置了 Postfix 使用证书作为服务器的角色(即接收邮件)。这些是smtpd_*设置。

但是您所指的消息不是关于您的服务器接收邮件,而是关于从您的服务器向另一台服务器发送邮件,即由另一台服务器接收。在这种情况下,发送系统(即您的 Postfix)通常只检查接收邮件服务器的证书(即另一个),如果根本涉及 TLS(您的设置认为这是可选的,即smtp_tls_security_level = may)。

一些邮件服务器被配置为不仅提供自己的证书以供发件人(即您的 Postfix)进行身份验证,而且还向发件人请求证书。这通常是可选的,即 TLS 连接将被接受,即使发送方没有提供这样的证书来验证自己。这就是导致消息“客户端未提供证书”的原因

如果您真的想提供客户端证书,则需要在 Postfix 中使用相关smtp_*设置(而不是smtpd_*),即smtp_tls_cert_file等进行显式配置。有关详细信息,请参阅文档