使用 Comodo 的 Postfix SSL 证书 (PostivieSSL) - “未知权限”

使用 Comodo 的 Postfix SSL 证书 (PostivieSSL) - “未知权限”

我的邮件服务器运行 postfix/dovecot 设置时出现问题,基本上当我运行各种安全测试时,我被告知无法验证我的证书,请参见此处:https://ssl-tools.net/mailservers/brailsford.xyz

我所拥有的证书和相关文件(有效期按照https://brailsford.xyz) 是:

  • 添加信任外部CARoot.crt
  • brailsford_xyz.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt

我还有 crt 的密钥文件 brailsford_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

后缀链是之前的三个证书的组合,顺序如下:

  1. brailsford_xyz.crt
  2. COMODORSADomainValidationSecureServerCA.crt
  3. 添加信任外部CARoot.crt

有人能告诉我我做错了什么以及如何改正吗?

答案1

您的 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=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority”的证书,但该链不包含由受信任的 CA(或进一步的中间 CA)颁发给该主题的证书。

据我所知,您至少缺少这个证书(作为您链中的第三个链接):https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/966/108/intermediate-1-sha-2-comodo-rsa-certification-authority

即序列号 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

答案2

您的指令:

smtpd_tls_CAfile=/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt

很奇怪。您可能根本不想指定它 - 如果您使用客户端证书身份验证,它是为颁发客户端证书的 CA 准备的。它不适用于您的链。

通常,只需将您的证书后面跟上其每个中间 CA 证书(PEM 格式),然后将其串联在一起即可smtpd_tls_cert_file。无需指定根。仔细检查您在此处使用的证书是否正确。

ssl-tools.net 给出的错误有点难以理解。考虑使用 openssl s_client 检查问题。

相关内容