Что делает kSecReturnPersistentRef? - PullRequest
4 голосов
/ 12 января 2011

Делает ли элемент цепочки ключей постоянным между запусками приложения?

Ответы [ 3 ]

2 голосов
/ 15 января 2011

Оказывается, постоянная ссылка - это просто ссылка. Его можно использовать в качестве ключа для последующего поиска элемента цепочки для ключей, обмена ссылками между приложениями, которые имеют доступ к общим элементам цепочки для ключей и т. Д.

2 голосов
/ 25 января 2011

@ Plumenator Вы можете выполнить поиск элемента цепочки для ключей позже и в словаре поиска введите значение kCFBooleanTrue для ключа kSecReturnPersistentRef.Если элемент найден, Keychain Services возвращают постоянную ссылку на него.Если SecItemAdd() успешно добавит элемент в цепочку для ключей, он останется там до тех пор, пока цепочка для ключей существует (обычно до сброса устройства) или SecItemDelete() удаляет его.ключ kSecReturnPersistentRef называется ключом типа возврата, потому что вы указываете, что функция SecItemAdd() или SecItemCopyMatching() должна возвращать вам.Возможные флаги: kSecReturnPersistentRef, kSecReturnData, kSecReturnAttributes и kSecReturnRef.

2 голосов
/ 12 января 2011

Да, все верно.Извлечь Справочник по связке ключей :

Чтобы получить постоянную ссылку на добавленный элемент (объект типа CFDataRef), укажите kSecReturnPersistentRef со значением kCFBooleanTrue.Обратите внимание, что в отличие от обычных ссылок, постоянная ссылка может храниться на диске или передаваться между процессами.

...