建议:让应用使用手动添加的证书
t0rp3d0 opened this issue · comments
根据 Google 的说明
大多数应用不会使用您添加的 CA 证书
在 Android 7.0 及更高版本的系统中,应用默认不使用您添加的 CA 证书。不过,应用开发者可以选择让他们的应用使用手动添加的 CA 证书。
如果想使用自签发证书,必须将其导入系统 CA 列表 /etc/security/cacerts,否则消息发送失败。希望能让应用使用用户添加的证书,这样使用自签发证书会容易得多。
请问有办法导入吗?
导入CA在系统设置里面。
请问有办法导入吗?
@pgd19900 假设你的手机已经 root,并且服务器端已经配置好使用自签证书。在该证书所在目录执行
gethash=$(openssl x509 -inform PEM -subject_hash_old -in cert.crt | head -1);cat cert.crt> ${gethash}.0;openssl x509 -inform PEM -text -fingerprint -in cert.crt -out /dev/null >> ${gethash}.0
将命令中的 cert.crt 替换成你自签证书的文件名。将生成的 *.0 文件放入手机的 /etc/security/cacerts 中就行了,这一步需要 root 权限
导入CA在系统设置里面。
@ttimasdf 如果是 7.0 以上系统,对于这个应用来说仅仅从系统设置中导入证书是不行的,这就是我提建议的原因