我有一些奇怪的SSL问题与nginx和我的证书register.com。 大多数浏览器使用它,但有些不能validation证书。 我想validation我正确地设置了。
当我从register.com获得通配符ssl证书时,他们向我发送了这些文件:
AddTrushExternalCARoot.crt RegistercomSSLServiceCAOV.crt STAR_mydomain_net.crt UTNAddTrushServer_CA.crt
我也有我生成的私钥文件。 我像这样configuration了nginx:
ssl_certificate /etc/ssl/ca-bundle.crt; ssl_certificate_key /etc/ssl/mydomain.key;
/etc/ssl/ca-bundle.crt只是register.com给我的所有文件连接在一起。
这听起来正确吗?
谢谢
至于你的连接,RFC 5246指出:
发件人的证书必须在列表中排在第一位。 以下证书必须直接certificate前面的证书。 因为证书validation要求根密钥是独立分发的,所以假定远程terminal必须已经拥有它,以便在任何情况下validation它,那么可以可选地从链中省略指定根证书颁发机构的自签名证书。
因此,您需要做的是以正确的方式订购证书包:服务器证书放在最靠近根证书的证书上。 大多数SSL实现似乎在客户端或服务器端修复了不正确的顺序,但是我已经遇到了一个临界情况,也许你也是这样。
我不知道这样的链接在这里是否可以接受,但是我已经在一个较旧的博客条目中概述了这个过程(即使对于一个类似的链接): 处理漫长的SSL证书链
连接这些文件的顺序是: