Разблокировка связки ключей OSX Local Items

Я пытаюсь программно разблокировать цепочку для ключей Local Items в OSX.

Я разблокирую login.keychain с помощью инструмента /usr/bin/security. В некоторых сценариях разблокировка login.keychain программно косвенно разблокирует локальные элементы. В других случаях локальные элементы не разблокируются, и пользователь получает несколько запросов на их разблокировку. Мне нужно знать, как напрямую обращаться к локальным элементам в моей программе на C.

К сожалению, при запуске цепочки ключей безопасности в /Library/Keychains/ даже не отображается цепочка ключей Local Items. Это почему?

Есть ли способ получить доступ и изменить локальные элементы напрямую?

Платформа: Maverick и Yosemite

Обновление: теперь я также попытался разблокировать цепочку ключей входа в систему с помощью API безопасности (SecKeychainUnlock), проблема с заблокированными локальными элементами все еще сохраняется.


person h_b    schedule 30.12.2014    source источник
comment
Любые наводки/помощь? Дополнительная информация: когда я программно разблокирую login.keychain во время сеанса, локальные элементы также разблокируются. Когда я программно разблокирую login.keychain, когда пользователь входит в свою учетную запись, локальные элементы не разблокируются и постоянно запрашивают пароль. Я переписал процесс входа в систему таким образом, что он не зависит от пароля (я предоставляю свою собственную библиотеку PAM).   -  person h_b    schedule 03.01.2015


Ответы (1)


Локальный элемент не является файлом цепочки для ключей, это файл базы данных с именем «keychain-2.db». Вы увидите его в подпапке ~/Library/Keychain.

Проверьте эту ссылку: https://macmule.com/2014/03/30/the-local-items-keychain-in-mavericks/

person K.D    schedule 19.11.2015