Ultranti

春寒料峭,冻刹年少。

删除iOS残余证书

Rhysn's Avatar 2020-04-20 iOStoolsDB Browser for SQLite

  1. 1. macOS 解决方案(推荐,快、易)
  2. 2. Windows 解决方案

iCloud 是个神奇的东西,给予 iOS 便捷云备份的同时,也存在证书描述文件不备份却单独备份证书的情况。

在 iOS 中使用 Surge、Thor 等抓包 App 难免会生成并安装 SSL 证书用以解密 HTTPS,从而导致了 iCloud 在新手机恢复旧机备份时, 设置 > 通用 > 关于本机 > 证书信任设置 中存在未删除的旧证书,同时由于缺少对应的描述文件,导致无法删除、无法使用的尴尬。

证书信任设置:
证书信任设置

描述文件:
描述文件

macOS 解决方案(推荐,快、易)

一顿找寻之后就指向了这样一个[解决方案][answer],整体思路就是从备份文件中导出存储证书的 sqlite3 文件,使用脚本恢复对应的 crt 证书文件(可能是多个),之后重新安装证书,恢复描述文件并覆盖证书,最后删除不再使用的证书描述文件 设置 > 通用 > 描述文件 ,完成残余证书的删除操作,抄录教程如下:

  1. Backup iPhone to Mac, View backup file by some software (I used iMazing)

  2. Find TrustStore.sqlite3 in Backup/KeychainDomain/ and export it to HOME DIR.

  3. Use this project https://github.com/ADVTOOLS/ADVTrustStore to export certfile

    1
    ./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt
  4. Airdrop or Email this crt file to iOS device, and install it.

  5. Find it in Settings > General > Profiles and Remove it.

  6. It disappear in “Certificate Trust Settings”

在第三步中使用 GitHub 中的开源项目 ADVTrustStore 完成证书的导出,在 Windows 下并不能顺利执行,仅支持 macOS 下运行,。

Windows 解决方案

既然已经确认 TrustStore.sqlite3 就是存储信任证书的备份文件,那么只要在Windows下打开 sqlite3 文件并导出相应证书,重装再删除即可。

在 Windows 下可通过安装 DB Browser(SQLite) 打开并导出对应证书。

证书导出

注意,图中每一行为一张证书的信息,有几行就需要导出几次,导出文件的后缀需要自行修改成 .crt

之后就只需要按照步骤再安装删除即可。

Author : Rhysn
This work is licensed under a CC BY-NC-SA 4.0 International License.
Link to this article : https://ultranti.com/article/ios_delete_certificate_on_windows/

This article was last updated on days ago, and the information described in the article may have changed.
Loading comments…