这篇文章上次修改于 703 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
2022年的时候,在iphone上安装并信任了翻墙和抓包软件的证书,后面ios版本升级之后,发现曾经的描述文件管理选项消失了,移动到了vpn里面,但关键是曾经安装过的证书并没有跟着移动过去,直接消失了,但是在设置–通用–关于本机–证书信任设置里,还能看到残留着之前的证书,这对于强迫症来说真是不能忍,在网上搜了一下,最终解决了一半,特此记录
流程
1、备份:由于太穷买不起mac,从windows 10应用商店里下载了最新的itunes,然后手机连接并信任电脑,使用备份功能将手机完全备份到电脑上
2、导出:使用任何一款ios备份导出软件,导出Backup/Keychain路径里的TrustStore.sqlite3文件
我用了这个,安全性未知,要是买得起mac的话
3、转换:利用ADVTrustStore将上面导出的sqlite3转换成crt证书
./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt
另外,这个python文件环境是python2,使用python3会报语法错误,要注意
4、解决:将导出的证书利用邮件发送到iphone上,并重新安装一次,然后再移除,即可发现证书信任设置里的过期证书消失
吐槽
为什么我说只解决了一半呢?因为我的iphone里有两个无法删除的证书,一个是httpcatcher的抓包根证书,这个证书在软件里能直接导出,因此我先直接用第4步,已经将这个证书给删除了
但是另外一个证书属于被删掉软件,已经彻底找不回来,所以只能完整的将手机备份一遍,导出sqlite3文件,但是我发现这个sqlite3文件里,仍然包含着我之前已经删除的httpcatcher的根证书!
也就是说,即使费了这么大劲,也只是把手机的证书信任设置里的证书信任选项干掉了,实际上这两个证书任然会一直存在手机里,跟着你到天涯海角…………
啊!!!!!!!!!!!!!

算了,起码看不见了,眼不见心不烦,只要忘记掉这件事就好