- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用以下访问控制向 secItemAdd 添加一个项目
SecAccessControlRef sacObject = SecAccessControlCreateWithFlags(kCFAllocatorDefault,
kSecAttrAccessibleAfterFirstUnlock,
/*kecAccessControlTouchIDAny | */kSecAccessControlApplicationPassword, &error);
所以它基本上要求密码以将项目添加到钥匙串(keychain),这很完美,但是当我想访问这个项目时,我想跳过 UI 身份验证,所以我想如何使用 kSecUseAuthenticationUISkip 手动提供密码。
最佳答案
根据 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
键设置为类型为 LACredentialTypeApplicationPassword
的 LAContext
实例,它包含您向用户询问的密码以及您传递给 的对象中的
键。kSecAccessControlApplicationPassword
>kSecAttrAccessControl
这是一篇文章,它通过一个示例对其进行了解释,我认为它非常适合您的用例:http://collinbstuart.github.io/lessons/2015/11/04/keychain_entropy
关于ios - kSecUseAuthenticationUISkip 如何使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42339000/
我想使用以下访问控制向 secItemAdd 添加一个项目 SecAccessControlRef sacObject = SecAccessControlCreateWithFlags(kCFAll
我是一名优秀的程序员,十分优秀!