最近是不是在抓包的时候遇到了点小麻烦?安卓7.0以上的系统突然变得“高冷”,证书验证失败的问题让你头疼不已?别急,今天就来给你详细解析一下这个让人头大的问题,让你轻松应对!
安卓系统证书验证失败,究竟是个啥玩意儿?
首先,你得明白,安卓7.0及以上版本增加了系统证书验证功能。简单来说,就是系统会检查你安装的证书是否合法,如果不合法,就会拒绝访问。这就导致了我们在抓包时,证书验证失败的问题。
证书验证失败,抓包无望?不存在的!
别担心,虽然证书验证失败让人头疼,但还是有办法解决的。下面,我就来给你详细介绍一下几种解决方法。
方法一:导入证书到系统证书目录
1. 首先,你需要将Fiddler或Charles的证书导出到本地。
2. 使用OpenSSL获取证书的哈希值。这里要注意,.cer格式和.pem格式的证书获取哈希值的方法略有不同。
3. 接下来,生成以证书哈希值命名的证书文件。
4. 将哈希值文件push到手机系统证书目录,并授予权限。
5. 重启手机,证书生效。
方法二:修改WebView配置
如果你在抓包时遇到了Webview抓包失败的问题,可以尝试修改WebView配置。具体操作如下:
1. 在工程res-xml目录中创建一个名为networksecurityconfig.xml的文件。
2. 在AndroidManifest里的中,添加如下代码:
```xml
```
3. 重新打包项目,然后抓包。
方法三:使用Magisk模块
如果你不想手动导入证书,可以使用Magisk模块来解决这个问题。具体操作如下:
1. 安装用户级别证书。
2. 打开手机的Magisk软件,安装movecert模块。
3. 安装完证书和模块后,重启手机。
方法四:修改WebViewClient
如果你在抓包时遇到了Webview抓包失败的问题,可以尝试修改WebViewClient。具体操作如下:
1. 重载WebViewClient的onReceivedSslError()函数。
2. 在其中执行handler.proceed()。
证书验证失败,注意事项
1. 以上方法仅供参考,具体操作可能因手机型号和系统版本而有所不同。
2. 在使用Magisk模块时,请确保已经解锁了system分区。
3. 修改WebView配置时,请谨慎操作,以免影响其他功能。
安卓系统证书验证失败的问题虽然让人头疼,但只要掌握了正确的方法,就能轻松解决。希望这篇文章能帮助你解决抓包难题,让你在抓包的道路上一路畅通!