1.问题说明
打开charles会有一个 invalid keystore format的提示,更隐藏的影响,是安卓设备安装了凭证,但是charles仍然抓不到包,会展示unknow,即使是charles配置好了ssl proxy setting,并且mac信任了charles安装的凭证。
2.解决方案
需要定位和删除Charles Proxy的密钥库文件,这些文件通常存放在操作系统特定的配置或应用数据目录中。
以下是不同操作系统中可能找到Charles密钥库文件的位置:
对于macOS:
-
打开Finder。 - 在菜单栏上,选择前往 > 前往文件夹...。
-
输入`~/.Charles`并且点击前往,这会打开包含Charles配置的文件夹。
-
寻找名为`keystore`的文件并将其删除。 如果没有找到`keystore`文件,尝试查找Charles的默认SSL证书位置:`~/Library/Application Support/Charles/ssl/keystore`。
对于Windows:
-
打开文件资源管理器。
-
输入 `%APPDATA%` 并按回车键,这会直接导航到应用数据文件夹。
-
寻找一个与Charles相关的文件夹(可能叫做`Charles`或类似名称)。
-
在这个文件夹中找到类似`keystore`的文件并将其删除。
对于Linux:
-
打开终端。
-
输入 `cd ~/.Charles` 并按Enter键,以进入Charles的配置文件夹。
-
使用 `rm keystore` 命令来删除密钥库文件。 完成操作后,请重启Charles,它应该会提示你重新生成一个新的keystore。
**注意:** 在执行这些步骤之前,请确保Charles Proxy已经完全关闭,并且请谨慎操作,因为错误地删除文件可能会导致其他问题。
本人是找到了~/Library/Application Support/Charles/ 文件,删除了ca 、 certs下的所有文件。未删除之前,查看了ca、certs有多个.keystore文件,猜测是多个.keystore影响,删除后问题解决。
因为本人先是brew 安装了charles,后面又找了可以用jar包破解的charles,抓数据有些问题,又装了最新的charles,以及多次安装删除证书,所以出现了多个.keystore文件。