4

它是否使密钥链项在应用程序运行之间持久化?

4

3 回答 3

3

@Plumenator 您可以稍后搜索 Keychain 项目,并在搜索字典中提供kCFBooleanTruekey的值kSecReturnPersistentRef。如果找到项目,钥匙串服务会返回对它的持久引用。如果SecItemAdd()成功地将项目添加到钥匙串,只要钥匙串存在(通常直到设备重置)或SecItemDelete()删除它,它就会一直保留在那里。

回答您的第二个问题:该键kSecReturnPersistentRef称为返回类型键,因为您指定了函数SecItemAdd()SecItemCopyMatching()应该返回给您的内容。可能的标志是kSecReturnPersistentRefkSecReturnDatakSecReturnAttributeskSecReturnRef

于 2011-01-25T17:43:14.570 回答
2

事实证明,持久引用就是这样,一个引用。它可以用作稍后查找钥匙串项的键,在有权访问共享钥匙串项的应用程序之间共享引用等。

于 2011-01-15T09:53:34.987 回答
2

是的,这是正确的。查看钥匙串服务参考

要获得对添加项(CFDataRef 类型的对象)的持久引用,请将 kSecReturnPersistentRef 的值指定为 kCFBooleanTrue。请注意,与普通引用不同,持久引用可以存储在磁盘上或在进程之间传递。

于 2011-01-12T14:04:46.997 回答