以前手机上安装了anyproxy描述文件。后来换了新的手机之后进行备份还原之后,发现描述文件不能删除。
表现就是证书信任列表里面有,但是描述文件里面没有。后来终于找到国外大神的解决办法。
With iOS, certificates are installed as part of profiles. Deleting a certificate means removing the profile.
When an iPhone with profiles is backed up, and then the backup is restored to a new device, the profiles are no longer visible under Settings > General > Profiles. So, they can’t be deleted via the usual way.
The certificates however get restored to the device. One can see them e.g. under Settings > General > About > Certificate Trust Settings.
Hence my question: How can these certificates be deleted from the device?
I found a certificate in my iOS device’s Certificate Trust Settings. And it was not be found in Profiles. Finally I remove it by add the cert file again, and then I can found and remove it in Profiles.
At first, I can’t found the cert file, because this CA was installed years ago. So I did these things:
Backup iPhone to Mac, View backup file by some software (I used iMazing)
Find TrustStore.sqlite3 in Backup/KeychainDomain/ and export it to HOME DIR.
Use this project https://github.com/ADVTOOLS/ADVTrustStore to export certfile
./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt
Airdrop or Email this crt file to iOS device, and install it.
Find it in Settings > General > Profiles and Remove it.
It disappear in “Certificate Trust Settings”
Done.
中文解释一下。
1、先电脑上备份手机。
2、https://imazing.com/ 下载iMazing,找到备份文件夹Backup/KeychainDomain/ 中的TrustStore.sqlite3,导出到电脑。
3、https://github.com/ADVTOOLS/ADVTrustStore 下载iosCertTrustManager.py 文件导出备份里面的证书文件。命令是
./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt
4、把这些证书发到手机重新安装描述文件,这个时候描述文件里面就有那个无法删除的描述文件,可以点击删除,证书信任列表的也会不见了。