+1 投票

自从苹果开始要求开发者使用SSL数字证书后,SSL数字证书也是顺势被普及了!但是严格的信任机制下,部署证书总会遇到各种问题,比如在Apache中配置Comodo的时候,如果中级根证书没有部署在服务器上,就会出现证书不被IOS信任,例如下图

上图自腾讯提供的ATS检测工具结果。

另外使用一些其它的证书检测工具检测也会提示 COMODO RSA Domain Validation Secure Server CA 对应的提示错误:

证书来源: 缺失证书
状态: 错误: 服务器缺少中间证书

但证书能正常访问,只是在Firefox下却提示此链接不受信任,参考:关于Comodo PositiveSSL在Firefox上不受信任的数字证书

所以我们要将Comodo颁发的证书进行合成,例如证书邮件中有4个文件:

sslzoo_com.crt
COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt
AddTrustExternalCARoot.crt

因为AddTrustExternalCARoot.crt是根证书,所以不需要只要使用以下命令将上述另外3个证书合成就可以了:

cat sslzoo_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > sslzoo_com_last.crt

合成结果,就是该目录下出现了一个 sslzoo_com_last.crt 最终证书。

在Apache配置(Windows和Linux通用)和ssl相关的conf文件,例如Windows下的 /extra/http_ssl.conf

DocumentRoot "..."
ServerName www.sslzoo.com:443
SSLEngine on
SSLCertificateKey D:/ssl/sslzoo_com_last.crt
SSLCertificateKeyFile D:/ssl/sslzoo.com.key
SSLCertificateChainFile D:/ssl/sslzoo_com_last.crt

在Apache中重点就是SSLCertificateChainFile的配置,也是合成后的证书文件,保存后重启Apache服务就可以了

最新提问 2月 14, 2017 分类:SSL | 用户: shionphan (940 分)

1个回答

0 投票
所有证书都会存在中级根证书的需求,如果要通过IOS验证
最新回答 2月 16, 2017 用户: unknow (2,140 分)
39 问题
29 回答
15 留言
1,496 用户