Использовать аутентификацию по отпечатку пальца в качестве разблокировки KeyGuard вместо шаблона - PullRequest
0 голосов
/ 30 мая 2018

Я хочу разрешить пользователю использовать Finger Print в качестве опции входа.На данный момент я обнаружил, что мы можем использовать отпечатки пальцев для аутентификации, но проблема в том, что они не связаны с паролем, который использует мое приложение, и в моем приложении мне нужно разрешить многопользовательский вход в систему.Я подумал о том, чтобы использовать Android Key Store для генерации SecretKey и требовать отпечаток пальца, чтобы использовать его setUserAuthenticationRequired(true), а затем сначала зашифровать пароль и сохранить в настройках общего доступа, затем извлечь его и извлечь SecretKey из Android Key Store и расшифровать проблему.является то, что KeyGuardManager по умолчанию разрешает разблокировку только по шаблону, и я не могу найти, как использовать отпечаток пальца вместо этого, чтобы получить SecretKey из Android Key Store

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Я использовал FingerprintManager.AuthenticationCallback, чтобы убедиться, что отпечаток пальца правильный, и только после этого пользователя ключ от KeyStore.При создании ключа в хранилище ключей вы можете установить время его действия после последней аутентификации отпечатка пальца.

0 голосов
/ 30 мая 2018

Я использовал эту библиотеку, чтобы добиться этого: https://github.com/JesusM/FingerprintManager

После первого успешного входа в систему я показываю пользователю диалоговое окно с просьбой сохранить отпечаток пальца, затем шифрую его пароль и сохраняю егов общих настройках (с солью).В следующий раз я расшифрую его, используя отпечаток пальца, и войду в систему.

...