StartSSL.com SSL Class2 证书和 Postfix

StartSSL.com SSL Class2 证书和 Postfix

目前我的Postfix 2.11实例在 上运行 TLS,GoDaddy SSL Certificate但因为我希望能够从 smtp.example.com 以及 imap.example.com、example.com 或 example.org 访问我的服务器,所以我在 startssl.com 网站购买了便宜的 SSL Class2 证书。但在更新 Postfix 配置(用新的 StartSSL.com SSL Class2 证书替换旧的 Godaddy SSL 证书)后,电子邮件桌面客户端抱怨 smtp.example.com 不是通用名称 example.com。

我已经配置了 `nginx,并且在访问以下任何示例名称和示例备用名称时一切似乎都运行正常:

示例.com
imap.example.com
smtp.example.com
mail.example.com
*.example.com
示例网站
imap.example.org
smtp.example.org
mail.example.org
*.example.org

在 Postfix 上,我对 GoDaddy 证书进行了以下配置:

smtpd_tls_cert_file=/etc/ssl/certs/example.crt
smtpd_tls_key_file=/etc/ssl/private/example.key
smtp_tls_CAfile=/etc/ssl/certs/sf_bundle.crt
smtp_tls_CApath=/etc/ssl/certs

对于 StartSSL.com Class2 证书,我尝试了以下设置组合,但没有成功:

组合1

smtpd_tls_cert_file=/etc/ssl/certs/example.crt
smtpd_tls_key_file=/etc/ssl/private/example.key
smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_tls_CApath=/etc/ssl/certs

组合2 cat example.crt sub.class2.server.ca.pem >> mycert.crt

smtpd_tls_cert_file=/etc/ssl/certs/mycert.crt
smtpd_tls_key_file=/etc/ssl/private/example.key
smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_tls_CApath=/etc/ssl/certs

组合3 cat example.crt sub.class2.server.ca.pem >> /etc/ssl/certs/ca-certificates.crt

smtpd_tls_cert_file=/etc/ssl/certs/example.crt
smtpd_tls_key_file=/etc/ssl/private/example.key
smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt
smtp_tls_CApath=/etc/ssl/certs

据我所知,主要问题是因为客户端无法看到位于 x509v3 下的备用名称,但 chrome 或 Firefox 等 HTTP 浏览器可以看见。

答案1

最后我获得了与 Postfix 2.11 配合使用的 startssl.com 2 类 SSL 证书,因此我当前的配置可以很好地适用于多个域和子域。

这是工作配置,以防有人需要它。

后缀 /etc/postfix/main.cf

smtpd_tls_cert_file=/etc/ssl/certs/class2.webeloping_es.pem
smtpd_tls_key_file=/etc/ssl/private/class2.webeloping_es.key
## 此文件是从 startssl.com 下载的
smtp_tls_CAfile=/etc/ssl/certs/startssl_ca-bundle.pem
smtp_tls_CApath=/etc/ssl/certs

Courier Imap /etc/courier/imapd-ssl

$ cat /root/SSL/startssl.com/class2.webeloping_es.crt /root/SSL/startssl.com/class2.webeloping_es.key >> /etc/ssl/private/startssl-crt_key.pem

TLS_CERTFILE = /etc/ssl/private/startssl-crt_key.pem
TLS_TRUSTCERTS=/etc/ssl/certs/startssl_ca-bundle.pem

相关内容