发送外发邮件时提供我的证书的方法是什么?
所有发出的邮件都显示“未提供客户端证书”。
编辑:自行签署新证书也无济于事。
这是我在 main.cf 文件的 TLS 部分中的内容:
# TLS parameters
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_mandatory_protocols = TLSv1
smtpd_tls_received_header = yes
smtpd_tls_auth_only = yes
smtp_tls_note_starttls_offer = yes
smtp_tls_ciphers = export
smtpd_tls_cert_file=/etc/postfix/public.pem
smtpd_tls_key_file=/etc/postfix/private.pem
smtpd_tls_CApath = /etc/postfix/
smtpd_tls_CAfile = /etc/postfix/comodoca.pem
smtpd_use_tls=yes
smtp_tls_cert_file=/etc/postfix/client.pem
smtp_tls_key_file = /etc/postfix/clientprivate.pem
smtp_tls_CApath = /etc/postfix/
smtp_tls_CAfile = /etc/postfix/clientca.pem
smtp_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_exclude_ciphers = RC4,MD5, aNULL
smtp_tls_exclude_ciphers = RC4, MD5, aNULL
smtpd_tls_ask_ccert = yes
答案1
请参阅 Postfix TLS 自述文件,客户端证书和私钥配置:
RSA 密钥和证书示例:
/etc/postfix/main.cf: smtp_tls_cert_file = /etc/postfix/client.pem smtp_tls_key_file = $smtp_tls_cert_file
他们的 DSA 对应者:
/etc/postfix/main.cf: smtp_tls_dcert_file = /etc/postfix/client-dsa.pem smtp_tls_dkey_file = $smtp_tls_dcert_file
它们的 ECDSA 对应项(Postfix ≥ 2.6 + OpenSSL ≥ 1.0.0):
/etc/postfix/main.cf: smtp_tls_eccert_file = /etc/postfix/client-ecdsa.pem smtp_tls_eckey_file = $smtp_tls_eccert_file
虽然 TLS 自述文件很好地概述了该主题,但您可能还需要查阅有关具体Postfix 配置参数。
答案2
为了宣传 STARTTLS,Postfix 有两个配置选项:
smtpd_use_tls=yes
这样,Postfix 将宣布传入 SMTP 连接(针对 SMTP 守护进程)的 STARTTLS 可用性
smtp_tls_note_starttls_offer=yes
这将启用传出 SMTP 连接的公告。