xcode-simulator-cert

Swift 5 compatible Xcode 10.2 compatible Xcode 10.2 compatible

这是一个用于管理 Xcode 模拟器中根证书的工具。在所有模拟器中安装证书就像这样简单:

$ xcode-simulator-cert install myhost.crt

然后它会将证书安装到你所有的模拟器中。

安装

使用 Homebrew

Homebrew 是 macOS 上开源工具和其他东西的事实标准包管理器。

$ brew install skagedal/formulae/xcode-simulator-cert

使用 Mint

Mint 是一个非常棒的基于 Swift Package Manager 项目的包管理器,例如这个项目。

$ mint install skagedal/xcode-simulator-cert

用法

xcode-simulator-tool 基本上对模拟器中的证书执行 CRUD 操作:安装新证书、导出现有证书、删除证书以及列出它们。

使用 xcode-simulator-tool --help 可以快速了解它的工作方式。

安装证书

install 子命令接受一个参数,你可以在其中提供 PEM 格式的证书。

$ xcode-simulator-cert install myhost.crt

你也可以指定特定的模拟器

$ xcode-simulator-cert install myhost.crt --device-name="iPhone 8"

这会将证书安装到名称完全匹配“iPhone 8”的模拟器中。 还有一些其他方法可以筛选要影响的模拟器,请参阅 xcode-simulator-cert install --help

它将跳过在已经存在此确切证书的模拟器中安装。

导出证书

export 子命令导出在所选设备的信任存储中找到的现有根证书,并为每个唯一证书创建一个 PEM 文件。

$ xcode-simulator-cert export 

删除证书

remove 子命令从所选设备中删除所有根证书。

列出证书

list 子命令列出所有模拟器设备以及每个设备可用的证书。

注意事项

此工具编辑由 iOS 在模拟器中管理的 SQLite 数据库。 它没有使用官方认可的 API。 我已经在 Xcode 10.2.1 和 Xcode 11 beta 1(在撰写本文时,是最新版本)上对其进行了测试,效果很好,但我当然不能提供任何保证。 在某些情况下,您可能仍然需要手动进入并手动信任该证书。 我建议您在运行该工具时不要运行 Xcode 模拟器。

开发

如果您想修改 xcode-simulator-cert,您可以运行 generate-xcodeproj.sh 来生成一个 Xcode 项目。

致谢

此工具主要基于 Daniel Cerutti 的工作及其 ADVTrustStore 工具和文档。