iPhone TrustStore CA 证书
-
20-08-2019 - |
题
你们中有人知道如何更改内容吗 Security.framework/TrustStore.sqlite3
. 。看起来 iPhone 使用它来存储受信任的 CA 证书。我真的希望我的 iPod touch 信任我的自定义证书。除此之外,你们谁知道一个应用程序(win32)来编辑sqlite3数据库文件(除了sqliteman,这个对我来说总是崩溃)。
解决方案 2
我可以想像,别人会遇到这个问题,所以我想回答它是如何工作(苹果公司将不希望看到):
1日)存储在/System/Library/Frameworks/Security.framework/TrustStore.sqlite3的的iPhoneOS相信每CA证书
2日),在该数据库中的某些字段包含我不明白的数据,而像“SHA1”等的含义是相当明显的。
3)有在您的iPod / iPhone两个不同TrustStore.sqlite3s。第二个是位于/private/var/Keychains/TrustStore.sqlite3。那些之间的唯一区别是,苹果只信任一个在Security.framework的内容。
第4次),后者一个用于存储用户安装的证书(感谢,koregan),而表布局是一样的。
5)使用邮件或Safari打开您的自签名证书并安装它。
6)打开/private/var/Keychains/TrustStore.sqlite3使用您喜欢的SQLite数据库管理器并查找其tsettings行“SHA1”的BLOB包含您的CA证书的哈希值。
第7次)提取整行,并将其插入TrustStore.sqlite3的tsettings表。
8)确保您复制数据库回设备,重新启动它。
9日)现在,你应该完全信任它是由您自定义的CA签名这些证书。
其他提示
如果您将网络服务器配置为提供具有正确 mime 类型的数字证书,则 iPhone 上的 Safari 会将它们添加到信任存储中。
CA 证书的 mime 类型为“application/x-x509-ca-cert”(示例 这里)
当 safari 下载此证书时,如果用户想要信任它,它将作为用户。
一旦受到信任,它将出现在设置中|一般|简介部分作为配置配置文件。
替代文本 http://o-regan.org/cacert.png
该证书也会插入到 TrustStore.sqlite3 数据库中。通过执行备份并提取数据库来验证这一点 iPhone 备份提取器.
我不确定现在这是否意味着它可以用于其他目的,例如作为 SSL 根。
希望这会有所帮助,如果时间允许,我可能会进行更多调查。
您可以使用 iPhone配置实用工具来安装证书。
有关你问题的第二部分,我已经用了Firefox的SQLite的扩展,创建和编辑sqlite的数据库文件。
由于iOS的11信任库位于:/System/Library/Security/Certificates.bundle
而不是通常的位置:/System/Library/Frameworks/Security.framework