我的邮件服务器运行postfix / dovecot安装程序时遇到问题,本质上,当我运行各种安全testing时,我得知我的证书无法validation,请参阅https://ssl-tools.net/mailservers/ brailsford.xyz
我可用的证书和相关文件(根据https://brailsford.xyz有效)是:
我也有我的密钥文件,brartford_xyz.key
我在postfix中的设置是:
smtpd_tls_cert_file=/etc/ssl/certs/postfixchain.crt smtpd_tls_key_file=/etc/ssl/private/brailsford.key smtpd_tls_CAfile=/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt smtpd_use_tls=yes
后缀链是以前的三个证书的组合,顺序如下:
任何人都可以build议我做错了什么,我该如何纠正?
看来你的SSL证书链并不完整(或者说错过了一个链接)。 看看当我连接到你的邮件服务器时, openssl s_client
返回的是什么:
$ openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -starttls smtp -connect brailsford.xyz:587 CONNECTED(00000003) depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=brailsford.xyz i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority 2 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root ---
您可以看到,发行人( i
)“/ C = GB / ST =大曼彻斯特/ L = Salford / O = COMODO CA有限公司/ CN = COMODO RSAauthentication机构”的证书,但是该证书链不包含证书由受信任的CA(或另一个中间CA)颁发给该主题。
据我可以告诉你缺less至less这个证书(作为链中的第三个链接): https : //support.comodo.com/index.php?/Default/Knowledgebase/Article/View/966/108/中间-1-SHA-2-魔岛-RSAauthentication权威
这是序号27:66:ee:56:eb:49:f3:8e:ab:d7:70:a2:fc:84:de:22和Subject: C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
你的指示:
smtpd_tls_CAfile=/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt
很奇怪。 您可能根本不想指定它 – 如果您正在使用客户端证书身份validation,则CA颁发客户端证书。 这不是你的连锁店。
通常,将您的证书放在每个中间CA证书(以PEM格式)中,并将smtpd_tls_cert_file
串联在smtpd_tls_cert_file
中就smtpd_tls_cert_file
。 没有必要指定根。 仔细检查你在那里使用了正确的证书。
ssl-tools.net给出的错误有点神秘。 考虑使用openssl s_client来检查问题。