在安卓手机上安装Charles证书

在安卓手机上安装Charles证书

日常开发中,总有遇到要查看网络请求的时候,浏览器中打开调试器就能看到,手机端就抓瞎了。Charles就正好能帮住我们解决这样的难题。

然鹅,使用几次之后你就会发现,抓http请求的时候Charles是一抓一个准,而抓https的时候你却看到的都是红叉叉。因为使用Charles截取https通信需要安装Charles的证书,没有安装证书,自然看到的都是叉叉咯。

说到安装证书,安卓爸爸安装Charles的证书总是会遇到奇奇怪怪的问题。我也是找了八百个帖子试了一百种办法好不容易才装上,于是就有了这篇文章,权当记录以备忘,同时也希望能帮到同样卡在装证书上的同学。

简介

Charles是mac中常用的抓包工具,主要是用来抓网络封包然后进行分析。

官网https://www.charlesproxy.com/

正版收费,免费试用30天。

安装证书

根据我八百个帖子的经验,安装证书有两种比较靠谱的办法:

  1. 根据官方的推荐,在线下载自动安装,轻松愉快( BUT,我没安上… )
  2. 本地导出证书,传到手机上安装

我的情况是第一种方法没成功,下载到了文件但是无法安装( 黑人问号???)

安装失败

说一下第一种方法的步骤:

  • 打开Charles,眼睛瞄到顶上菜单栏的 “ Help ” ,点开。

  • 找到 “ SSL Proxying ” -> “ Install Charles Root Certificate on a Mobile Device or Remote Browser ”,按下去。

    方法一步骤

  • 然后跟着提示操作。手机代理到本机ip的 8888 端口,在手机浏览器上打开chls.pro/ssl,就会自动下载并安装证书( 如果没有自动安装,可以自己去下载管理里面找出来手动安装它 )。

    charles提示

    不知道本机ip可以使用 ifconfig 命令查找

然鹅,这种方法根本不适合我。无奈只能寄希望于第二种:

  • 打开Charles,还是瞄到上面 “ Help “ ,点开。

  • 找到 “ SSL Proxying “ -> “ Save Charles Root Certificate… “,按下去。

    会出现提示保存的界面,可以保存成两种格式,.pem.cer ,我存了 .cer

    就是这货,把这个文件传到手机上。

    我是用微信传的,传到了之后在微信里点开,结果提示还是无法安装,这就神奇了不是?

    别急,咱们换种办法,进入”设置” -> “更多设置” -> “系统安全” -> “从SD卡安装证书”,然后找到证书文件,打开( 可能不同的手机路径略有不同,莫慌,仔细找找总会找到的。我的是小米 )。

    这里有一点要注意,安装证书要输入锁屏密码,如果没有,就去设置一个。

    历经千辛万苦,终于安装成功了。

总结

简单的总结一下,我在安装证书时的跌宕起伏:

  1. 通过在线安装的方法不成功,提示无法读取证书文件。
  2. 进入下载目录找到下载的证书文件手动安装也不成功,同样提示无法读取。
  3. 转到系统安全设置中,从SD卡安装同样也不成功。至此官网方法正式宣告失败。
  4. 通过导出证书到本地,传到手机上,在微信点开安装,失败,提示无法读取证书文件。
  5. 进入文件管理,手动点开证书文件,提示无法读取证书。
  6. 使用从SD卡安装功能,成功进入证书安装界面。安装证书需要设置锁屏密码,设置锁屏密码。
  7. 安装成功。

虽然走了很多弯路,但总算是安上了,期间查了不少资料,也看了不少博客,发现遇到大家遇到的问题都不尽相同,所以决定写一篇文章总结一下自己的心得。万一正好帮上谁了呢?

参考

如何用charles进行https抓包

Charles 从入门到精通

细说 Charles 配置 HTTPS 代理的乱码问题

0%