证书链中的自签名证书

证书链中的自签名证书

我在创建证书链时遇到了一些问题。我的证书是 StartSSL 颁发的 2 类证书。

以下是我在 ssl.crt 中输入的内容:

my cert
https://www.startssl.com/certs/ca.pem
https://www.startssl.com/certs/class2/sha1/pem/sub.class2.client.sha1.ca.pem
https://www.startssl.com/certs/class2/sha1/pem/sub.class2.server.sha1.ca.pem

如果我运行,openssl s_client -connect domain.com:993我会得到:

Verify return code: 19 (self signed certificate in certificate chain)
---
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready

如果我尝试将我的帐户添加到Gmail,我会得到以下结果:

"Missing +OK response upon connecting to the server: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready."

为什么说这是一个自签名证书?

答案1

在某种程度上,自签名证书将始终出现在证书链中 - 最明显的是 CA 证书,根据定义,这些证书是自签名的,但受到信任。您之所以看到该消息,是因为 StartSSL CA 证书是自签名的。

您的链文件也是错误的 - 您不需要客户端证书。文件应按以下顺序排列,从文件顶部到底部,链接指向 StartSSL 的等效证书,假设为 2 类验证(文档是这里):

  1. 私钥(可选)
  2. 您的公共证书
  3. 二级中级证书
  4. 根 CA 证书

您的错误可能是由于使用了错误的端口,如上所述这里。作为参考,端口 995 用于 POP SSL 连接,端口 993 用于 IMAP SSL(参考)。

答案2

如果您尝试配置 Gmail 对某些第三方 pop3 帐户的访问,请确保使用端口 995(如果是 imap),否则使用 993。

为了确保你的 SSL 已安装并正常工作,你可以使用以下命令使用 openssl:

openssl s_client -showcerts -connect  mail.yourserver.com:995

如果一切正常,openssl 不会显示任何错误消息。

相关内容