它是否使密钥链项在应用程序运行之间持久化?
问问题
2264 次
3 回答
3
@Plumenator 您可以稍后搜索 Keychain 项目,并在搜索字典中提供kCFBooleanTrue
key的值kSecReturnPersistentRef
。如果找到项目,钥匙串服务会返回对它的持久引用。如果SecItemAdd()
成功地将项目添加到钥匙串,只要钥匙串存在(通常直到设备重置)或SecItemDelete()
删除它,它就会一直保留在那里。
回答您的第二个问题:该键kSecReturnPersistentRef
称为返回类型键,因为您指定了函数SecItemAdd()
或SecItemCopyMatching()
应该返回给您的内容。可能的标志是kSecReturnPersistentRef
、kSecReturnData
、kSecReturnAttributes
和kSecReturnRef
。
于 2011-01-25T17:43:14.570 回答
2
事实证明,持久引用就是这样,一个引用。它可以用作稍后查找钥匙串项的键,在有权访问共享钥匙串项的应用程序之间共享引用等。
于 2011-01-15T09:53:34.987 回答
2
是的,这是正确的。查看钥匙串服务参考:
要获得对添加项(CFDataRef 类型的对象)的持久引用,请将 kSecReturnPersistentRef 的值指定为 kCFBooleanTrue。请注意,与普通引用不同,持久引用可以存储在磁盘上或在进程之间传递。
于 2011-01-12T14:04:46.997 回答