你们中有人知道如何更改内容吗 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的数据库文件。

addons.mozilla.org

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top