【问题标题】:Keychain item shared when access group is not set未设置访问组时共享的钥匙串项目
【发布时间】:2018-12-10 08:23:34
【问题描述】:

我有两个应用程序使用相同的架构来存储受生物特征认证保护的 kSecClassGenericPassword 项。

在应用程序初始化后,我无法从一个应用程序中检索钥匙串项的内容 (errSecInteractionNotAllowed = -25308),而其他应用程序一切正常。

即使没有设置钥匙串访问组,钥匙串项也会在两个应用程序之间共享。

我在这个文件夹中放了一个示例应用和一个视频:https://www.dropbox.com/sh/lk5p1war4c4tids/AACbE-E-z7Pqjx9XHD92RJ6Sa?dl=0

复制步骤(以附件形式查看视频):

  • 使用提供的 Keychain-Access 项目

  • 设置包标识符:App1 -> ch.sysmosoft.debug.Keychain-Access.1

  • 启动 App1

  • 关闭 App1

  • 启动 App1

  • 认证

  • 显示受保护的元素

  • 更改包标识符:App2 -> ch.sysmosoft.debug.Keychain-Access.2

  • 启动 App2

  • 关闭 App2

  • 启动 App2

  • 显示受保护的元素

  • 启动 App1

  • 受保护的元素不可访问 (errSecInteractionNotAllowed)

版本/构建:

  • Xcode -> 版本 10.1 (10B61)

  • iOS -> 12.1 (16B92)

  • iPhone 6s(型号 MKQN2ZD/A)

  • iPad mini(型号 ME276GP/A)

其他信息:

即使 TeamId 不同,也会出现此错误。

我使用此页面中的钥匙串项目唯一标识符What makes a keychain item unique (in iOS)?

感谢您的帮助

【问题讨论】:

    标签: ios keychain


    【解决方案1】:

    我们找到了错误的根源。

    要解决受生物认证保护的钥匙串项的问题,您必须有一个不同的PRODUCT_NAME。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 2020-06-20
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多