小米系列手机不能安装charles证书怎么办在安卓手机上安装
手机屏幕在搬运共享尿检机器的過逞中因公殉职,恰逢小米MIX2公布,被勾引了,入手了第一部小米手机。
安装ssl证书
失败现场
-
根据Charles的提示,手机打开
chls.pro/ssl
-
小米通过自带browser(QQbrowser要么别的browser未测)下载得到一个
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+ 的证书信托问题
安卓版本7+而且微信版本7+ 使用Charles也不能代理请求怎么办?
近来微信由体验版主动升级到了微信7.0,发现Charles代理请求的时间报错了:
request:fail ssl hand shake error
究其缘由是微信调整了如下安全证书策略:
策略 | 安卓版本 | 微信版本 | 是否可以代理 |
---|---|---|---|
A | 7- | 任意版本 | 是 |
B | 7+ | 7- | 是 |
C | 7+ | 7+ | 否 |
为什么策略 C 不能代理了?
参考资料 提到默认环境下,针对 Android 7.0 (API level 24) 的应用不再信托用户或管理员添加的CA证书来进行安全连接。(之前我们实在是将安全证书安装到安卓手机上作为用户信托安全证书,新版本假如APP开启了设置我们的代理请求会被以为是不安全的。)
-
预备一台已经 root 的手机
# 手机 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>
-
安装证书到安卓系统证书目次
/system/etc/security/cacerts
# 安装下令 adb push <Certificate_Hash>.0 /system/etc/security/cacerts
-
启用证书
# 开启步骤以小米新版本为例(如参考图倒数第二个即为我们安装的 Charles 系统证书) 设置 > 更多设置 > 系统安全 > 加密与根据 > 信托的根据[系统]
acgpower证书装不上
在安卓手机上安装Charles证书
日常开发中,总有碰到要察看网络请求的时间,browser中打开调试器就能看到,手机端就抓瞎了。Charles就恰好能帮住我们解决这样的困难。
然鹅,使用频频之后你就会发现,抓http请求的时间Charles是一抓一个准,而抓https的时间你却看到的都是红叉叉。由于使用Charles截取https通讯需要安装Charles的证书,没有安装证书,自然看到的都是叉叉咯。
说到安装证书,安卓爸爸安装Charles的证书总是会碰到奇希奇怪的问题。我也是找了八百个帖子试了一百种措施好不轻易才装上,于是就有了这篇文章,权当记载以备忘,同时也盼望能帮到同样卡在装证书上的同窗。
简介
Charles是mac中常用的抓包工具,重要是用来抓网络封包然后进行分析。
官网 : https://www.charlesproxy.com/
正版收费,免费试用30天。
安装证书
根据我 八百个帖子 的履历,安装证书有两种 比较靠谱 的措施:
- 根据官方的建议,在线下载主动安装,轻松舒畅( BUT,我没安上… )
- 当地导出证书,传得手机上安装
我的环境是第一种方法没成功,下载到了文件但是无法安装( 黑人问号???)
说一下第一种方法的步骤:
-
找到 “ SSL Proxying ” -> “ Install Charles Root Certificate on a Mobile Device or Remote Browser ”,按下去。
-
然后跟着提示操作。手机代理到本机ip的
8888
端口,在手机browser上打开chls.pro/ssl
,就会主动下载并安装证书( 假如没有主动安装,可以自己去下载管理内里找出来手动安装它 )。不知道本机ip可以使用
ifconfig
下令查找
打开Charles,眼睛瞄到顶上菜单栏的 “ Help ” ,点开。
然鹅,这种方法根本不合适我。无奈只能寄盼望于第二种:
-
找到 “ SSL Proxying “ -> “ Save Charles Root Certificate… “,按下去。
会出现提示保存的界面,可以保存成两种格式,
.pem
和.cer
,我存了.cer
。就是这货,把这个文件传得手机上。
我是用微信传的,传到了之后在微信里点开,结果提示还是无法安装,这就神奇了不是?
别急,咱们换种措施,进入”设置” -> “更多设置” -> “系统安全” -> “从SD卡安装证书”,然后找到证书文件,打开( 大概差别的手机路径略有差别,莫慌,细致找找总会找到的。我的是小米 )。
这里有一点要留意,安装证书要输入锁屏密码,假如没有,就去设置一个。
历经历尽艰辛,终于安装成功了。
打开Charles,还是瞄到上面 “ Help “ ,点开。
总结
简单的总结一下,我在安装证书时的跌荡升沉:
- 通过在线安装的方法不成功,提示无法读取证书文件。
- 进入下载目次找到下载的证书文件手动安装也不成功,同样提示无法读取。
- 转到系统安全设置中,从SD卡安装同样也不成功。至此官网方法正式宣告失败。
- 通过导出证书到当地,传得手机上,在微信点开安装,失败,提示无法读取证书文件。
- 进入文件管理,手动点开证书文件,提示无法读取证书。
- 使用从SD卡安装功能,成功进入证书安装界面。安装证书需要设置锁屏密码,设置锁屏密码。
- 安装成功。
虽然走了许多弯路,但总算是安上了,期间查了不少资料,也看了不少博客,发现碰到大家碰到的问题都不尽相同,以是决定写一篇文章总结一下自己的心得。万一恰好帮上谁了呢?
参考
怎样用charles进行https抓包 Charles 从入门到精通 细说 Charles 设置 HTTPS 代理的乱码问题Android 手机解决步骤如下:
方法0:
手机安装chromebrowser,在chls.pro/ssl下载证书后
在当地安装:设置->安全->根据存储->从存储装备安装,选中证书导入
方法一:
1. 从Charles网站下载ssl证书,链接是 http://www.charlesproxy.com/ssl.zip 。
2. 下载后解压出证书文件charles-!proxy-ssl-proxying-certificate.crt,拷贝得手机。之后设置->安全->根据存储->从存储装备安装,选中证书导入。
3. 回到Charles,Proxy->SSL Proxying Settings,先选中Enable SSL Proxying,然后点击Add添加你要察看的接口。https默认端口号是443/8443。
4. 连上手机,察看接口的返回。
增补:假如以上方法不见效
可将.crt 后缀修改为pem 就好了
方法二:
https://www.cnblogs.com/ceshijiagoushi/p/6812493.html
假如以上方法还不可 那恢复出厂设置吧==
本文网址: http://www.6vho.com/page/202111183024_7645_504200065/home