使用 openssl 自签名本地主机证书时如何修复 android 上损坏的 HTTPS?

How to fix broken HTTPS on android when using a openssl self signed localhost certificate?

我关注了this guide on how to create my own CA and end entity certificates. My certificate authority (localhost) openssl config looks very similiar to this. According to this post我设置了

[ v3_ca ]
basicConstraints                = CA:TRUE

在我的桌面设备上完全没有问题,并且 https 工作正常。

当我尝试在我的 android 设备上安装根证书时出现问题。

起初我通过内置的“从存储安装”选项安装了根证书(设置/安全/凭据存储)。 Https 现在可用,但我总是得到 network may be monitored warning.

this article 之后,我获取了证书哈希,将 rootca.pem 文件重命名为 {hashid}.0 文件,并使用 windows powershell 上的 ADB 将其移动到 /system/etc/security/cacerts/(同时设置 chmodchown).

重新启动我的 phone 后,我可以看到我的授权证书已成功添加到 android 本机可信证书存储中。默认情况下处于活动状态。

现在我摆脱了网络监视器警告,但 ssl 不再工作了。 Android chrome 远程调试抛出: broken https certificate missing net::ERR_UNEXPECTED(android 上的 firefox 说 SEC_ERROR_UNKNOWN_ISSUER

有没有办法正确绕过 this/install 它?我是不是忘记了什么?

对于那些感兴趣的人,我正在分享解决方案:

这是我解决这个问题的方法:
(1) 使用 odin v3.12.4-4 和最新的 twrp 3.3.0-0-klte
刷写我的 sm-g900f (2)备份相关数据,之后用twrp擦除system/cache/...
(3) 闪现 16.0-nightly-klte addonsu-16.0-arm open_gapps-arm-9.0-nano-20190428
(4) 通过安全设置选项安装证书。显示为 'user cert' 但没有警告消息,ssl 现在可以工作了:)

感谢 XDA-Developers 的 JW09I4 帮助我并指导我完成 phone.

的更新过程