刪除 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 ?


分享到:


相關文章: