SSL安全证书

中间证书/证书链安装指南

1.如何导出中间证书:为什么需要中间证书?

SSL证书包含3张,即根证书,中间证书和客户端证书,这是一个完整的证书链,缺失一个链都是安装不正确的。

根证书由于大部分浏览器都会内嵌,可以不安装,但是中间证书是必须的。用户往往在支付宝或微信小程序调试中会发现中间证书缺失而导致无法完成配置的问题,那是因为支付宝和微信的强制要求是证书链必须是完整的,如果您不完整,也就无法进行下一步了。我们平时在给服务器安装https证书的时候,就需要养成良好的习惯,在服务器上绑定完客户端证书的时候,同时要把中间证书导出来,然后导入服务器中。有些用户只是将客户端证书绑定在服务器上,而忘记装中间证书,有些时候PC端的浏览器会显示没有问题,但是往往会在手机移动端尤其是安卓系统,就会因为没有检测到中间证书导致提示非信任等信息。

其实当用户收到由数字证书颁发CA机构的最后一封证书签发的邮件的时候,看到begin至end这段代码,这个就是最终签发给您的服务器客户端证书,我们将这串代码保存为.cer/.crt文件扩展名格式,请不要去掉中间的中横线,然后打开方式选择加密外壳扩展。如下图2:

在证书路径中,鼠标点击上述图1中间证书的地方,图1展示的是(Geotrust EV RSA CA 2018),然后点击查看证书->详细信息->复制到文件->下一步->选择Base64编码,如图3->下一步->浏览选择保存文件的路径并命名文件名保存。根证书的导出原理与中间证书一样。

2. 接下来,我们需要解决如何安装中间证书。

1)IIS可以在绑定完客户端证书.pfx之后,运行打开certmgr.msc命令进入IIS安装中间证书的地方,如下图4,直接导入。

2)Apache和Nginx:使用.crt 和 .key进行安装,安装时需要注意的是server.crt是服务器客户端证书和中间证书的整合,即按如下格式进行:

  1. -----BEGIN CERTIFICATE-----

邮件里的服务器客户端证书代码

  1. -----END CERTIFICATE-----
  2. -----BEGIN CERTIFICATE-----

中间证书代码

  1. -----END CERTIFICATE-----

3)Tomcat使用jks安装,在.cer和.key 进行合成转换成jks格式时,.cer的文件需要按照上面第2)的格式进行,然后再完成转换。