热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

备份恢复后,SecItemCopyMatching返回-26276-AfterbackuprestoreSecItemCopyMatchingreturns-26276

KeychainTouchIDappwasinstalledusingXcodeandexecuted.ThekeywasgeneratedbypressingAd
  1. KeychainTouchID app was installed using Xcode and executed. The key was generated by pressing "Add protected key" and it was used by pressing "Use protected key". The key was generated using Secure Enclave.
  2. KeychainTouchID应用程序是使用Xcode安装并执行的。通过按“添加受保护的密钥”生成密钥,按“使用受保护的密钥”即可使用密钥。密钥是使用Secure Enclave生成的。

  3. Encrypted iPhone backup on the computer was made using iTunes. All content and settings where erased (Settings -> General -> Reset -> Erase All Content and Settings).
  4. 计算机上的加密iPhone备份是使用iTunes制作的。删除的所有内容和设置(设置 - >常规 - >重置 - >删除所有内容和设置)。

  5. Encrypted iPhone backup was restored to the same iPhone.
  6. 加密的iPhone备份已恢复到同一iPhone。

  7. Reinstallation for KeychainTouchID app needed to do as it was instaled using Xcode.
  8. 需要重新安装KeychainTouchID应用程序,因为它是使用Xcode进行的。

  9. KeychainTouchID app was executed.
  10. KeychainTouchID应用程序已执行。

  11. So after that:
  12. 那之后:

By pressing "Use protected key" returns -26276 (AAPLKeychainTestsViewController.m @ 288 function -> SecItemCopyMatching)

按“使用受保护的密钥”返回-26276(AAPLKeychainTestsViewController.m @ 288函数 - > SecItemCopyMatching)

By pressing "Delete protected key" reutrns -4 (AAPLKeychainTestsViewController.m @ 326 function -> SecItemDelete)

通过按“删除保护键”重新加速-4(AAPLKeychainTestsViewController.m @ 326功能 - > SecItemDelete)

By pressing "Add protected key" returns success, but deletion and usage is not possible.

通过按“添加受保护的密钥”返回成功,但无法删除和使用。


I found here: errSecInternal = -26276, /* An internal error occured in the Security framework. */

我在这里找到:errSecInternal = -26276,/ *安全框架中发生内部错误。 * /

So in this case I can not access new added key.

所以在这种情况下我无法访问新添加的密钥。

  • Why after backup restore SecItemCopyMatching returns -26276?
  • 为什么在备份恢复后SecItemCopyMatching返回-26276?

  • Why it is not possible to delete this key, but it is possible to add?
  • 为什么不能删除此密钥,但是可以添加?

  • Dose sombody had this experience?
  • 剂量sombody有这种经历吗?

  • What is the way to go around this problem?
  • 解决这个问题的方法是什么?

I did post this issue to Apple team, but no answer for more than 1 month.

我确实将这个问题发布给了Apple团队,但是超过1个月没有答案。

1 个解决方案

#1


1  

I would repost the question on the security list. That said, from my distant memory, those keys are likely marked with ACLs that prevent them from getting backed up, so you're encountering the equivalent of a dangling pointer in the keychain. If you re-add an item with matching name or whatever, it replaces that item, and it should work from that point on.

我会在安全列表上重新发布这个问题。也就是说,从我遥远的记忆中,这些键可能标有ACL,阻止它们被备份,所以你遇到了等同于钥匙串中的悬空指针。如果您重新添加具有匹配名称或其他内容的项目,它将替换该项目,并且应该从该点开始工作。

However, if deleting it and using it fails after re-adding the item, something very strange is going on, in which case I would file a bug. They'll probably ask you to install a configuration profile that enables a crapton of debugging, reproduce the error, and send them logs.

但是,如果在重新添加项目后删除它并使用它会失败,那么会发生一些非常奇怪的事情,在这种情况下我会提交一个错误。他们可能会要求您安装配置文件,以便进行调试,重现错误并发送日志。


推荐阅读
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
author-avatar
文帅zssw
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有