Charle和Fiddler抓包 unknown 和证书无效的解决方案

在Android 7.0及以上版本,由于系统默认不信任用户添加的CA证书,导致抓包工具如Charles、Fiddler抓取HTTPS请求时出现错误。官方提供了解决方案,需要在代码中进行配置。另外,对于已ROOT的设备,可将抓包工具证书安装为系统证书来实现抓包。具体操作包括计算证书的Hash值,改名并复制到系统证书目录,然后启用新证书。
摘要由CSDN通过智能技术生成

背景:
使用抓包软件(以 Charles 为例)抓取APP的 https 请求时,Android和Charles都正确安装了证书却出现抓包失败,报错:

Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)

bidesen > Android 7.0 之后抓包 unknown 和证书无效的解决方案 > image2019-1-2 16:46:15.png
原因
Android7.0 之后默认不信任用户添加到系统的CA证书:

To provide a more consistent and more secure experience across the Android ecosystem, beginning with Android Nougat, compatible devices trust only the standardized system CAs maintained in AOSP.(文档链接)

也就是说对基于 SDK24 及以上的APP来说,即使你在手机上安装了抓包工具的证书也无法抓取 https 请求

解决方案
一、官方解决方案(需修改代码)
官方文档:https://developer.android.google.cn/training/articles/security-config.html
详细演示:ht

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值