今天遇到一个 https 证书在 Andriod 上无法使用的问题,在网上查了一下,是我的服务器配置的证书缺少中间证书。
具体可以参考
https://l.jifangcheng.com/p/57
https://www.zhihu.com/question/40718588
完整的证书格式
-----BEGIN CERTIFICATE-----# 证书内容 1 (这是你的证书)
-----END CERTIFICATE------
----BEGIN CERTIFICATE-----# 证书内容 2 (这是签发你证书的机构)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----# 证书内容 3 (这个是根证书)
-----END CERTIFICATE-----
增加中间证书有两种方式,
1. 手动补全
2. 自动补全
certificatechain.io (我的证书在这个网站无法检验通过)
https://www.myssl.cn/tools/merge-pem-cert.html (这个网站比较好,功能比较多)
ps: 我自动补全的时候,并没有加入根证书,不过这个问题不大。因为本身根证书的公钥是内置到操作系统里的,很难拿到。