nginx /w star ssl 证书来自 register.com

nginx /w star ssl 证书来自 register.com

我在 nginx 和 register.com 的证书方面遇到了一些奇怪的 SSL 问题。大多数浏览器都可以使用它,但有些浏览器无法验证证书。我想验证我是否设置正确。

当我从 register.com 获取通配符 SSL 证书时,他们向我发送了以下文件:

AddTrushExternalCARoot.crt
RegistercomSSLServiceCAOV.crt
STAR_mydomain_net.crt
UTNAddTrushServer_CA.crt

我还有我生成的私钥文件。我像这样配置 nginx:

ssl_certificate /etc/ssl/ca-bundle.crt;
ssl_certificate_key /etc/ssl/mydomain.key;

/etc/ssl/ca-bundle.crt 只是 register.com 提供给我的所有文件连接在一起的。

这听起来对吗?

谢谢

答案1

至于您的连接,RFC 5246 指出:

发送者的证书必须位于列表的首位。每个后续证书都必须直接认证其前面的证书。由于证书验证要求独立分发根密钥,因此可以选择性地从链中省略指定根证书颁发机构的自签名证书,前提是远程端必须已经拥有该证书才能在任何情况下对其进行验证。

因此,您需要做的是以正确的方式对证书包进行排序:服务器证书位于顶部,一直到最接近根证书的证书。大多数 SSL 实现似乎都修复了客户端或服务器端的错误顺序,但我已经遇到过一种边缘情况,也许您也遇到过。

我不知道这样的链接在这里是否可以接受,但我在一篇较旧的博客条目中概述了该过程(即使对于与您类似的链):处理冗长的 SSL 证书链

答案2

连接这些文件的顺序是:

  1. 你的站点.crt
  2. USERTrustRSADomainValidationSecureServerCA.crt
  3. USERTrustRSA证书颁发机构.crt
  4. 添加信任外部CARoot.crt

相关内容