前言

前几天使用 HttpCanary 抓包,无法安装证书,如下图,搜索找到了解决办法。本教程适合 安卓11+ 无法安装证书,以及解决“系统证书”和“目标App使用固定证书”的问题。

IMG_20230506_173646.webp

准备工作

  1. 手机 root,安装好 Magisk 和 Xposed 框架(比如 LSPosed);
  2. 下载安装 MT管理器 (或其他类似文件管理器),并授予 root 权限。点这里 https://www.123pan.com/s/4PIUVv-XI88H.html 下载里面3个文件,安装 HttpCanary_3.3.5.apk,其他两个待用。

说明 HttpCanary_3.3.5.apk:HttpCanary 安装包,原版无修改; HttpCanary根证书.zip:Magisk 模块,将HttpCanary根证书添加至系统CA目录; TrustMeAlready_1.11.apk:Xposed模块,解决“目标app使用固定证书,无法抓包”。


一.安装证书

1.安装 HttpCanary 后,打开软件,“安装根证书”无法安装点“跳过”即可,进入软件后,退出软件;

2.MT管理器打开 /data/user/0/com.guoshi.httpcanary/cache,新建名为 HttpCanary.jks 的空文件;然后把 HttpCanary.p12 和 HttpCanary.pem 两个文件复制到其他文件夹里(比如 Download 文件夹),后面要用到,如下图。

动图较大,耐心等待加载

动图较大,耐心等待加载

3.打开 设置→安全→加密与凭据→安装证书,不同机型可能不同,也可以在设置搜索”安装证书”打开。这里需要安装三个证书(本人测试安装“CA 证书”即可,推荐全部安装): (1) 点击 “CA 证书”,它会提示“您的数据将不再是私密的”,点“仍然安装“。找到刚才放证书的文件夹,选择 HttpCanary.pem 。 显示“已安装CA证书”。 (2) 点击 “VPN 和应用用户证书”,选择 HttpCanary.p12 ,密码为 HttpCanary(推荐复制,避免输错),证书名称为 VPN and Apps。 (3) 点击“WLAN证书”,选择 HttpCanary.p12 ,密码为 HttpCanary,证书名称为 WiFi

至此,用户证书安装完毕,点开用户凭据会看到有三个证书,如下图。

20230506_112405.webp


二.添加根证书至系统

说明 由于从Android 7.0版本开始,系统不再信任安装的用户证书,可能会导致无法抓取SSL/TLS加密数据包或者无网络等问题,如下图。因此需要将HttpCanary根证书添加至系统CA目录,此操作需要在Root设备上进行。