charles证书过期,导致连接不安全、抓包无法显示

574 阅读1分钟

很久没有用charles,如果用charles时,https网站提示不安全,抓到的包无法显示,可能是charles的根证书过期了。

不过电脑上可以点强行访问(但图片这种大概率在不同域名的会挂掉),但ios手机上可能会更严格一些,也许能强行访问但抓到的包无法显示,也许无法强行访问。

另外mac系统的charles教程里基本都会让你勾选始终信任,似乎就没有过期问题了。

1. 查看证书是否过期

以chrome为例,在任意https网站左上角,查看网站根证书(颁发者),会显示开始时间,一般有效期是一年。

image.png

2. 删除旧证书

以windows为例,运行certmgr.msc,或者搜索管理用户证书。在证书管理器中=>受信任的根证书颁发机构,找到旧的charles证书,删掉。不删直接装新证书的话,可能浏览器还是会走旧证书(我遇到了)。

image.png

3. 更新证书

在charles里,Help => SSL Proxying => Reset Charles root certificate

4. 安装新证书

重新安装,略。

ios可能无法打开 chls.pro/ssl 下载证书,可以参考blog.csdn.net/qq_43485197… 。如果已安装了旧证书最好也一并删掉。