android - 如何在没有 Root 的 Android 11 上安装 HttpCanary 证书

标签 android http ssl-certificate root ca

我想安装使用 HttpCanary 所需的 CA 证书,但我的手机说我无法在应用程序中安装,我也不知道我安装的 CA 文件在哪里。所以它需要root来解决这个问题。有没有什么方法可以不用root安装?谢谢你的回答,抱歉英语不好。

最佳答案

Android 11(或至少我的 LineageOS 18.1)很痛苦,因为所有证书都必须直接从设置应用程序安装,但 HttpCanary 不会为您提供原始证书文件。
我找到了一个中文post并在谷歌翻译的帮助下跟进。
this是CA文件,可以命名为HttpCanary.pem并直接从 [Settings > Security > Encryption & Credentials > Install a certificate > CA certificate] 安装它,但证书将仅受用户信任,要使其受系统信任,您将需要 root 访问权限。
[以下步骤需要根]

要安装证书并使其受系统信任 + 让 HttpCanary 检测到它,您需要做的就是使用计算机上的 ADB 运行这些命令(连接的手机必须打开 USB 调试):

adb shell
su
mount -o rw,remount /
cp -f /data/data/com.guoshi.httpcanary/cache/HttpCanary.pem /system/etc/security/cacerts/87bc3517.0
chmod 644 /system/etc/security/cacerts/87bc3517.0
touch /data/data/com.guoshi.httpcanary/cache/HttpCanary.jks
chmod 600 /data/data/com.guoshi.httpcanary/cache/HttpCanary.jks

关于android - 如何在没有 Root 的 Android 11 上安装 HttpCanary 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67627193/

相关文章:

android - 适用于 Android 的地方 API

java - 有什么方法可以恢复 YouTube API 视频吗?

android - 既然 TYPE_KEYGUARD 已被删除,那么它的解决方法是什么?

http - 如何产生501错误?

ssl - .pem 和 .pb7、.p12 格式之间的区别

ssl - 如何使用 CA 签名证书在 Jetty 中正确配置 SSL?

ssl - 通过代理同步设置 - 无法同步 IDE 设置

android - 如何在Android中从一个接口(interface)传递给其他接口(interface)

java - 默认情况下 JMS 使用 HTTP?

java - 带有多部分消息的 HTTP gzip 编码