【发布时间】:2017-09-13 13:07:27
【问题描述】:
我正在使用 NEVPNManager 为正在运行的 iOS 应用程序创建个人 VPN。现在我正在尝试安装一个可供所有应用程序使用的根 CA 证书。我了解用户需要在常规 -> 关于 - 证书信任设置下信任此证书。我正在尝试尽可能多地自动化这个过程。我发现尝试这样做的两种方法是:
1) 使用网站上托管的根证书的 URL 打开 Safari,iOS 将提示用户将证书安装为配置文件。
2) 在应用程序中实用地安装证书。
选项 #1 有效,但在用户安装证书后,他们不会带回应用程序,仍然需要手动进入并信任证书信任设置中的证书。
如果使用 SecItemAdd 选项 #2,它只会添加到我的应用程序沙箱的钥匙串中,而对其他应用程序不可用。我见过的唯一选择是让其他应用程序可以使用它来提高它的信任级别 as shown here,但这似乎需要来自 Apple 的 old open source library,而我无法构建。
那么,完成安装根证书并提示用户使其受信任的最佳选择是什么?如果可以通过#2,我如何构建然后将该库合并到我的应用程序中的任何想法?如果我只剩下 #1,那么为用户简化流程的最佳方法是什么?
【问题讨论】:
标签: ios objective-c certificate