Face ID записывать и считывать значения из и в цепочку ключей
Я понял, как работает Access с Touch ID kSecAccessControlTouchIDAny
в фреймворке KeychainAccess, но я не мог понять, как сделайте это с помощью идентификатора лица в iOS 11. Я еще не нашел документацию для его решения (возможно, документы еще не вышли?).
Итак, я ищу stackoverflow и спрашиваю: как написать значения, защищенные с помощью идентификатора лица, в цепочку ключей и как их скопировать?
Минимальный пример будет приятным.
Ответы
Ответ 1
Теперь это работает в Xcode 9.1 (начиная с бета-версии).
Тестовый пример:
https://developer.apple.com/library/content/samplecode/KeychainTouchID/Introduction/Intro.html
Несмотря на то, что этот пример не был обновлен для Face ID, он работает для хранения элементов привязки ключей, защищенных идентификатором лица.
Как обсуждалось, это не работает в Xcode 9.0 GM.
Ответ 2
Похоже, что Apple добавила поддержку Face ID в Local Authentication API, но не ACL Keychain.
То, что я планирую сделать, - это использовать локальную проверку подлинности, чтобы вызвать приглашение Face ID, а затем, если это удастся, напрямую обратитесь к keychain. Не так безопасен, как правильный API ACL KeyChain, который у нас есть для Touch ID, но это лучшее решение, которое я придумал до сих пор.
https://developer.apple.com/documentation/localauthentication/localauthentication_constants?changes=latest_minor
https://developer.apple.com/documentation/localauthentication/labiometrytype?changes=latest_minor