【玩转SSL】HTTPS中证书链不完整的解决方案

2022-05-06 17:33:57 浏览数 (1)

证书链不完整所表现出的问题

在Chrome中完全正常的https页面,在微信(WebView)中表现有一定概率无法打开页面,无论是IOS还是Android,要么就是一片白,要么就是直接无法打开,要么提示证书不正确。

造成以上问题的原因就是证书链不完整,需要在服务器上配置完整的SSL证书链。

如何检测证书链是否完整

因问题的触发有一定概率,并不太容易通过参与项目人员的手机进行测试从而发现问题。此时可以借助在线检测工具。

SSL服务器证书安装检查器

当检测结果包含以下内容,则表示缺少中间证书,证书链不完整。

1.jpg1.jpg

获取中间证书

PS: 1.有些服务商提供pem证书,pem证书包含中间证书,可用于替换crt证书,就不用再执行下面的步骤了 2.有些服务商提供的Nginx证书的crt证书中就包含了中间证书,可直接使用

1、从crt证书文件中解析出来

使用在线工具:获取证书信息及下载中间证书(当然也可以线下利用ssl工具或者openssl命令解析,方法自行百度,此处不在说明)

2、生成含有中间证书的新证书

将原始crt证书文件内容与在线工具生成的中间证书文件内容,复制粘贴到一起保存为.pem文件或.crt即可。

代码语言:javascript复制
—–BEGIN CERTIFICATE—–
# CRT 证书内容
—–END CERTIFICATE—–

—–BEGIN CERTIFICATE—–
# 中间证书内容
—–END CERTIFICATE—–

3、将保存新的pem或crt文件进行部署

通过部署含有中间证书的新证书及key证书重新部署后,即可解决证书链不完整的问题。

0 人点赞