我们有自己的 CA 来签署此证书。我们的 CA 的公共证书位于服务器上的 /etc/ssl/certs 中。Courier 似乎不信任或找不到 CA 证书?
我已将 CA 添加到 /usr/share/ca-certificates/ 并运行 ~sudo dpkg-reconfigure ca-certificates~,将其添加到客户端。没有变化。
这是我与远程客户端的 Courier 的对话:
openssl s_client -connect mail.mycompany.com:995
+OK 你好。 用户[电子邮件保护] +OK 需要密码。 通行证 12345 +OK 已登录。 列表 +OK POP3 客户端在此处中断,它们违反了 STD53。 。 重新分配 重新谈判 深度 = 0 /C = US/ST = 州/L = 我的城市/O = mycompany,Inc/OU = 邮件服务器/CN = mail.mycompany.com/[电子邮件保护] 验证错误:num=20:无法获取本地颁发者证书 验证返回:1 深度 = 0 /C = US/ST = 州/L = 我的城市/O = mycompany,Inc/OU = 邮件服务器/CN = mail.mycompany.com/[电子邮件保护] 验证错误:num=27:证书不受信任 验证返回:1 深度 = 0 /C = US/ST = 州/L = 我的城市/O = mycompany,Inc/OU = 邮件服务器/CN = mail.mycompany.com/[电子邮件保护] 验证错误:num=21:无法验证第一个证书 验证返回:1
我该如何让 Courier 使用该证书?或者这是客户端问题?
更新:在 .pem 文件(邮件服务器密钥 + 邮件服务器证书 + ca 证书)中添加 CA 公共证书可消除以前的错误,并将其替换为:
verify error:num=19:self signed certificate in certificate chain
我不知道这是否是朝着正确方向迈出的一步。我的理解是 CA 的公共证书是自签名证书,但如何消除错误?
答案1
这是客户端问题。
c_rehash /etc/ssl/certs/
openssl s_client -CApath /etc/ssl/certs -connect mail.mycompany.com:995
或者:
openssl s_client -CAfile /path/to/rootca.pem -connect mail.mycompany.com:995