小米系列手机不能安装Charles证书怎么办

手机屏幕在搬运共享尿检机器的过程当中因公殉职,恰逢小米MIX2发布,被勾引了,入手了第一部小米手机。html

安装ssl证书

失败现场

  • 按照Charles的提示,手机打开 chls.pro/ssl
  • 小米经过自带浏览器(QQ浏览器或者其它浏览器未测)下载获得一个 getssl.crt 证书
  • 设置 > 更多设置(系统和设备) > 系统安全 > 从存储设备安装
选择第二步骤获取到的证书,会弹窗提示 没有可安装的证书。,换个姿式再来一次。

再试一次

  • 按照Charles的提示,设置好 Proxy->Mac Proxy(Windows同理设置启用本机器代理服务),PC打开 chls.pro/ssl
  • 下载获得一个 charles-proxy-ssl-proxying-certificate.pem 证书
  • 传送到手机(姿式自选)
  • 设置 > 更多设置(系统和设备) > 系统安全 > 从存储设备安装
姿式正确。

其余问题(2019/01/14)

You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

  • 打开Charles,Help->SSL Proxying->Install Charles Root Certificate
  • 双击带叉的Charles证书,设置信任证书

注:以上两步骤能解决网页的问题,不能解决 android7+ 而且 微信7+ 的证书信任问题android

安卓版本7+而且微信版本7+ 使用Charles也不能代理请求怎么办?

最近微信由体验版主动升级到了微信7.0,发现Charles代理请求的时候报错了:shell

request:fail ssl hand shake error

究其原因是微信调整了以下安全证书策略:浏览器

策略 安卓版本 微信版本 是否能够代理
A 7- 任意版本
B 7+ 7-
C 7+ 7+

为何策略 C 不能代理了?
参考资料提到默认状况下,针对 Android 7.0 (API level 24) 的应用再也不信任用户或管理员添加的CA证书来进行安全链接。(以前咱们实际上是将安全证书安装到安卓手机上做为用户信任安全证书,新版本若是APP开启了设置咱们的代理请求会被认为是不安全的。)安全

如何在安卓7.0以及以上版本代理?微信

  • 准备一台已经 root 的手机app

    # 手机 root 方法参考各手机 root 教程,小米手机在 Windows 电脑下载[解锁工具](//www.miui.com/unlock/index.html),开启 fastboot 模式,手机端启用 root 权限(注意备份好手机上的数据到电脑)
    # 以小米手机为例来开启 root 权限后设置 /system 目录为读写
    # 以 root 权限执行
    adb root
    # 解决目录 read only 关键命令行
    adb disable-verity
    # 重启
    adb reboot
    # 以 root 权限运行
    adb root
    # 从新挂载
    adb remount
    # 设置读写
    adb shell mount -o rw,remount /system
  • 准备 Charles 证书文件工具

    # 如下执行命令都是以证书文件在当前目录为前提
    # 获取证书步骤
    Help -> SSL Proxying -> Save Charles Root Certificate...
    # 计算 Certificate_Hash 命令
    openssl x509 -subject_hash_old -in <Certificate_File>
    # 重命名 `<Certificate_File>` 为 `<Certificate_Hash.0>`
    mv <Certificate_File> <Certificate_Hash.0>

    准备 Charles 证书文件

  • 安装证书到安卓系统证书目录 /system/etc/security/cacertsui

    # 安装命令
    adb push <Certificate_Hash>.0 /system/etc/security/cacerts

    上传证书

  • 启用证书google

    # 开启步骤以小米新版本为例(如参考图倒数第二个即为咱们安装的 Charles 系统证书)
    设置 > 更多设置 > 系统安全 > 加密与凭据 > 信任的凭据[系统]

    图片描述

相关文章
相关标签/搜索