删除 iOS 系统里不再使用的证书文件

苹果早晚要完 以前因为强国网的关系,使用一些网络 服务需要授权、信任自签名证书。

苹果早晚要完

以前因为强国网的关系,使用一些翻墙服务需要授信自签名证书。以前老版本的系统用户自行安装的第三方证书是可以在 Settings->General->Profiles 中直接删除掉的,但在 iOS 10 之后这个页面被取消了,设置中没有地方可以删除,只有开关选项决定是否信任。


iPhone | 删除 iOS 系统里不再使用的证书文件


现在 2020 年了,Let's Encrypt 免费服务已经普及,大家也都纷纷淘汰了不靠谱的自签名证书,结果从旧系统升级上来还带着以前安装的废弃证书却不让删除。虽然不影响实际使用,但是每次看到这些没用的垃圾还在心里实在难受。还好苹果的设计师虽然无赖,但还没绝情到想办法堵死路子,程序员嘛,诸事不决问 SO,果然有人问有人答,自己动手把这破事解决了。

操作步骤

  1. 备份 iPhone 系统数据到 Mac 上,然后使用 iMazing 查看备份数据
  2. 在备份的 KeychainDomain 目录中找到 TrustStore.sqlite 3 数据文件,点击下方的 Copy to Mac 将其导出到本地某个目录(这里假设是在 ~/TrustStore.sqlite3


iPhone | 删除 iOS 系统里不再使用的证书文件


  1. 使用 ADVTrustStore 项目导出证书~/foo.crt
<code>./iosCertTrustManager.py -t ~/TrustStore.sqlite3 -e ~/foo.crt 
/Users/yee/TrustStore.sqlite3
\tsubject= C = US, ST = CO, L = Denver, O = foo.com, CN = foo.com CA, emailAddress = [email protected]
\t\tExport certificate [y/N] y
subject= C = XX, L = Default City, O = Default Company Ltd, CN = 1.2.3.4
Export certificate [y/N] y/<code>
  1. 使用 Airdrop 或者电子邮件把导出的证书 crt 文件挨个发送到 iOS 设备并安装
  2. 从 Settings->General->Profiles 再次删除
  3. Done,“Certificate Trust Settings” 里面已经干净了


iPhone | 删除 iOS 系统里不再使用的证书文件

英文相关:How can I delete a certificate that got restored from a backup under iOS ?


分享到:


相關文章: