OStack程序员社区-中国程序员成长平台

标题: ios - kSecUseAuthenticationUISkip 使用方法 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 23:54
标题: ios - kSecUseAuthenticationUISkip 使用方法

我想通过以下访问控制向 secItemAdd 添加一个项目

SecAccessControlRef sacObject = SecAccessControlCreateWithFlags(kCFAllocatorDefault,
                                                             kSecAttrAccessibleAfterFirstUnlock,
                                                             /*kecAccessControlTouchIDAny | */kSecAccessControlApplicationPassword, &error);

所以它基本上要求密码将项目添加到钥匙串(keychain),这是完美的,但是当我想访问这个项目时,我想跳过 UI 身份验证,并且我想使用 kSecUseAuthenticationUISkip 手动提供密码。



Best Answer-推荐答案


根据 Apple 关于 kSecUseAuthenticationUISkip 常量 (https://developer.apple.com/reference/security/ksecuseauthenticationuiskip?language=objc) 的文档

Silently skip any items that require user authentication. Only use this value with the SecItemCopyMatching function.

所以不是选择性地跳过身份验证,而是跳过需要身份验证的项目

现在,当您想使用应用程序提供的密码保护对钥匙串(keychain)的访问时,在调用 SecItemAdd 时,您必须使用 kSecUseAuthenticationContext 键设置为LAContext 类型为 LACredentialTypeApplicationPassword 的实例,其中包含您向用户询问的密码以及您传递给 的对象中的 kSecAccessControlApplicationPassword >kSecAttrAccessControl 键。

这是一篇文章,它通过一个示例对其进行了解释,我认为它非常适合您的用例:http://collinbstuart.github.io/lessons/2015/11/04/keychain_entropy

关于ios - kSecUseAuthenticationUISkip 使用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339000/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4