Mar*_*ter 6 ssl certificates tls dovecot
在 Postfix 中,我已经指定了我的私钥、我的证书和我的 CA 的证书
smtpd_tls_CAfile = /etc/ssl/cacert.pem
smtpd_tls_key_file = /etc/ssl/server.key
smtpd_tls_cert_file = /etc/ssl/server.pem
Run Code Online (Sandbox Code Playgroud)
在 dovecot 中,只有指定我的密钥和我的证书的选项:
ssl_cert = </etc/ssl/server.pem
ssl_key = </etc/ssl/server.key
Run Code Online (Sandbox Code Playgroud)
如何指定我的 CA 的证书?
问题是,当我将客户端连接到端口 993 时,出现证书错误。使用openssl s_client -connect server:993我得到这个错误:
verify return:1
verify error:num=27:certificate not trusted
verify return:1
verify error:num=21:unable to verify the first certificate
verify return:1
Run Code Online (Sandbox Code Playgroud)
当我连接到端口 465 (Postfix) 时,我没有收到此错误:
openssl s_client -connect server:465
Run Code Online (Sandbox Code Playgroud)
use*_*963 14
您需要的是连锁证书。你可以像这样创建一个:
cat /etc/ssl/server.pem /etc/ssl/cacert.pem > /etc/ssl/chain.pem
Run Code Online (Sandbox Code Playgroud)
然后使用链作为服务器证书
ssl_cert = </etc/ssl/chain.pem
ssl_key = </etc/ssl/server.key
Run Code Online (Sandbox Code Playgroud)
现在,当您与 连接时openssl s_client,您应该不会收到任何错误(前提是其他所有设置都正确)