在xcode IOS Simulator中启用密码锁定

时间:2013-04-15 16:28:45

标签: certificate ios-simulator

我正在使用IOS Simulator v6.0。 设备是iPhone(所有iPhone设备的行为与我的问题相同) IOS版本是6.1

我正在尝试使用内置的Safari浏览器通过网络应用下载p12。

下载完成后,用户会自动进入设置应用程序(我知道这是完成p12安装所必需的) - 但是没有选项可以完成安装。我已经读过,启用证书导入需要密码锁。但是,我无法找到如何在iPhone IOS模拟器中启用密码锁定。

我读过的文档说该选项应该在:设置 - >一般 - >密码锁

除非不是。这是模拟器的具体限制吗?我能克服它吗?

1 个答案:

答案 0 :(得分:1)

尼尔,

是的,正如您所指出的,iOS模拟器并非100%准确复制实际iOS设备中的操作环境 - 某些类型的交互依赖于专用硬件(摄像机,陀螺仪,磁力计) ,基于硬件的加密技术等)在模拟环境中自然是不可支持的。模拟器(Push Notifications,iCloud等)也禁止其他类似的交互,这些交互似乎只是“仅软件”的交互类型 - 这些可归因于以下几点:

  1. 与物理设备不同,您不需要配置iOS模拟器。由于Provisioning Profiles包含这些Apple服务的权利,因此Simulator没有(当前)方式来了解如何连接到特定应用程序的这些服务。
  2. 模拟器没有唯一的硬件标识符,因此模拟器的连接与任何其他开发人员模拟器上的连接无法区分。
  3. 最后,有一类交互不符合上述排除,只能归因于Apple的设计决策。例如,密码锁可以由具有安全意识的iOS设备用户简单地启用......或者它可以由IT部门通过移动设备配置策略(通过ActiveSync,MDM服务器等)强制执行。仅添加通用,非IT授权版本的密码锁将导致内部模拟器功能奇偶校验,因为只支持大多数通用密码锁定行为,使MDM用户处于冷落状态。为避免这种情况,Apple必须向Simulator提供支持.mobile配置配置文件的知识,连接并定期检查MDM服务器(因此需要唯一的硬件标识符),并最终在模拟器中包含Mail.app以允许Exchange连接到设置为强制执行A​​ctiveSync托管配置。

    正如您所看到的,相对简单的功能可以快速传播到许多其他需要模拟的iOS元素。将此问题带到最不可能的极端边缘情况下,Simulator将成为一款功能齐全的纯软件iPhone,您可以直接从OS X上的iPhone形状接口接收电话和短信,查看电子邮件等...不是Apple体验即使这些用户是他们的第三方开发者,也希望用户能够拥有。

    虽然有一些互动我们很容易推断出他们从模拟器中遗漏的理由,但只有Apple 真的知道他们选择从模拟器中排除其他互动的原因。

    所以,回到你的问题:

    这是模拟器的特定限制吗?

    是的,从Xcode 4.6.2起,iOS Simulator目前不支持此功能。

    我能克服它吗?

    据我所知,没有。

    但是,我确实认为你在模拟器中安装证书的潜在问题是你可以做些什么的 - 事实上,我在我的模拟器中安装了一个自签名证书授权机构来做一些关于2的安全测试几个月前,很大程度上是基于Charles web proxy开发人员提出的一些工作。

    如果您下载他们的shell脚本,您可以看到他们如何将自签名证书注入模拟器密钥库 - 假设您的最终目标是安装证书,您可以将类似的过程应用于您自己的证书。

    确保备份默认密钥库;很容易意外破坏该文件中的二进制数据并使您的模拟器无法用于所有SSL连接。

    可能默认情况下,这不是iOS模拟器中支持的操作 - 调整模拟器需要您自担风险。

    祝你好运,如果一切都失败了,请将您的应用推送到可以安装证书的设备。