2008-12-07 242 views
9

您是否有任何線索如何更改Security.framework/TrustStore.sqlite3的內容。看起來好像iPhone使用它來存儲可信的CA證書。我非常希望我的iPod touch能夠信任我的自定義證書。除此之外,你們有沒有人知道一個應用程序(win32)來編輯sqlite3數據庫文件(除了sqliteman,這個文件總是會崩潰)。iPhone TrustStore CA證書

回答

6

我可以想像,別人會遇到這個問題,所以我想回答它是如何工作(蘋果公司將不希望看到):

月1日)的信託基金的iPhoneOS存儲在每個CA證書/System/Library/Frameworks/Security.framework/TrustStore.sqlite3

2)該數據庫中的某些字段包含我無法理解的數據,而其他的含義如「SHA1」非常明顯。

3rd)iPod/iPhone上有兩種不同的TrustStore.sqlite3s。第二個位於/private/var/Keychains/TrustStore.sqlite3。這兩者之間的唯一區別是Apple只信任Security.framework中的內容。

4th)後者用於存儲用戶安裝的證書(謝謝koregan),而表格佈局是相同的。

5th)使用Mail或Safari打開您的自簽名證書並安裝它。

6)使用您最喜歡的SQLite數據庫管理器打開/private/var/Keychains/TrustStore.sqlite3並查找其「SHA1」BLOB包含您的CA證書散列的tsettings中的行。

7)提取整行並將其插入到TrustStore.sqlite3的tsettings表中。

第8)確保將數據庫複製回設備,然後重新啓動它。現在它應該完全信任由您的自定義CA簽名的那些證書。

+0

感謝您的支持,這是您在仿真器上開發時的_ONLY_選項。使用配置實用程序僅適用於物理設備。 – RandomNickName42 2011-05-09 21:53:12

3

對於問題的第二部分,我已經使用Firefox的SQLite擴展來創建和編輯sqlite數據庫文件。

addons.mozilla.org

7

如果您配置服務與正確的MIME類型數字證書的Web服務器,然後在Safari瀏覽器在iPhone將它們添加到信任存儲。

MIME類型的CA證書是「應用程序/ x-X509-CA證書」(例如here

當狩獵下載該證書將作爲用戶,如果他們要信任它。

一旦信任它,就會出現在設置|一般|配置文件部分作爲配置文件。

alt text http://o-regan.org/cacert.png

證書也被插入到TrustStore.sqlite3分貝。通過執行備份並提取數據庫iphone backup extractor進行驗證。

我不確定現在是否意味着它被信任用於其他目的,比如SSL根。

希望這可以幫助,如果時間允許,我可能會調查更多。

+0

用於在`/ etc`應用程序/ x-X509-CA-cert`的默認擴展/ mime.types`是` .crt`。 – ceving 2014-11-16 15:46:47

0

由於iOS的11信任庫位於:/System/Library/Security/Certificates.bundle而不是通常的位置:/System/Library/Frameworks/Security.framework