原因
Android/iOS 自带的 SSL 证书可能漏了证书链里面的某一个证书(中间证书),只要在最终使用的 *.crt 证书文件里面把证书链补充完整就可以解决问题
解决方法
COMODO 申请证书成功之后,下载到的 *.zip 压缩包里面有好几个文件:
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
www_yourdomain_com.crt
注:这是证书链的顺序,其中 AddTrustExternalCARoot.crt 是根证书(ROOT CA Certificate)文件,COMODORSAAddTrustCA.crt 和 COMODORSADomainValidationSecureServerCA.crt 是中间证书(Intermediate CA Certificate)文件,www_yourdomain_com.crt 是站点 SSL 证书文件
只要按照如下顺序把这些文件的内容拼接在一起组成一个新的 *.crt 证书文件再使用就可以了:
www_yourdomain_com.crt
COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt
AddTrustExternalCARoot.crt
注:就是按照和证书链刚好相反的顺序拼在一起,最终得到的证书内容大致如下:
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
保存为新文件 new_name.crt 再使用就可以解决