【问题标题】:When are iOS keychain items removed?iOS 钥匙串项目何时被删除?
【发布时间】:2010-10-07 18:50:10
【问题描述】:

我可以发誓这在以前的 iOS 版本中工作方式有所不同,但从 iOS 4.0 开始,当应用程序被删除时,我的应用程序的钥匙串项似乎没有被删除。但是,在没有先删除的情况下升级应用后,似乎有些被清除了?

有人可以清楚地解释 iOS 钥匙串项何时被删除吗?

【问题讨论】:

  • 不管怎样,我记得 iPhone OS 3.x 就是这种情况。我认为 2.x 也是如此。
  • 我也遇到了这个问题。我也发誓过去的钥匙链表现不同。我记得从我的设备中删除应用程序也会删除钥匙串值。但我在 iOS 4.0 之后的测试中并非如此。我注意到我的凭据在应用程序删除和随后的重新安装中持续存在。您是否成功地找到了清除这些数据的正确方法?这里和其他地方都没有建议的链接可以解决这个问题,我不想为这个问题打开一个重复的问题。
  • 据我所见,4.0+以下的钥匙串项目在删除应用时不会被删除。
  • 我认为当用户选择“重置所有内容和设置”时它会被清除。谁能证实这一点?当您执行非无线系统更新并设置为“新设备”(而不是从备份恢复)时怎么样?

标签: iphone objective-c ios4


【解决方案1】:

正如here 的回答,以及其他地方(我不记得我在哪里读过它),即使在删除应用程序后,钥匙串也会保留。我几乎可以肯定,除非您明确删除其中的项目,否则不会清除钥匙串。

【讨论】:

  • 我不确定这里,但我认为您可以通过使用“设置”中的一个或多个“重置”按钮来重置钥匙串(作为用户)。这也可能会擦除许多其他东西,但也许可以使用。然而,这需要确认:-)
  • 刚刚确认了上述内容:您可以通过点击“重置所有内容和设置”来重置您的钥匙串。然而,仅仅做“重置所有设置”是不够的。
  • 天啊哇。所以即使 Apple 让设备重置了广告标识符,应用程序需要做的只是生成一个唯一的密钥并将其粘贴到钥匙串中?那么每次运行时,取出密钥,作为标识符发送给服务器?然后繁荣我们知道我们在同一个设备上?!这是一个疯狂的利用,它破坏了他们的行为,就像他们在确保用户安全一样。
【解决方案2】:

如果您对设备进行安全擦除,那么您可能会得到一个新的钥匙串。

【讨论】:

    【解决方案3】:

    我很伤心地发现情况不再如此,钥匙串从 10.3 开始将不再存在。

    见my reply here。

    【讨论】:

    • 请注意,这些钥匙串更改最终被还原了。所以 10.3+ 在卸载后仍然不会删除钥匙串项目。
    【解决方案4】:

    即使在应用卸载后它仍然存在。对于企业场景,您可以配置 n 使用 MDM 解决方案来控制设备钥匙串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      相关资源
      最近更新 更多