fun createKey() {
val mKeyStore: KeyStore
val mKeyGenerator: KeyGenerator
val androidKeyStore = "AndroidKeyStore"
val keyName = "my_key"
try {
mKeyStore = KeyStore.getInstance(androidKeyStore)
mKeyStore.load(null)
mKeyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, androidKeyStore)
mKeyGenerator.init(KeyGenParameterSpec.Builder(keyName, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT).setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setKeySize(256)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.setUserAuthenticationRequired(true)
.setUserAuthenticationParameters(0,KeyProperties.AUTH_BIOMETRIC_STRONG)
.setInvalidatedByBiometricEnrollment(true)
.build())
mKeyGenerator.generateKey()
} catch (e: Exception) {
logger.log(Level.FINEST, e.message, e)
}
}
И вызов его в onAuthenticationSucceeded BiometricPrompt.
Однако добавление нового отпечатка пальца не делает недействительным ранее созданный ключ и принуждение пользователя повторно ввести свои учетные данные. Что-то не так с моей реализацией?
Этим методом я создаю ключ, используемый для входа в систему через биометрию [code] fun createKey() { val mKeyStore: KeyStore val mKeyGenerator: KeyGenerator val androidKeyStore = "AndroidKeyStore" val keyName = "my_key"
try { mKeyStore = KeyStore.getInstance(androidKeyStore) mKeyStore.load(null) mKeyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, androidKeyStore) mKeyGenerator.init(KeyGenParameterSpec.Builder(keyName, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT).setBlockModes(KeyProperties.BLOCK_MODE_CBC) .setKeySize(256) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7) .setUserAuthenticationRequired(true) .setUserAuthenticationParameters(0,KeyProperties.AUTH_BIOMETRIC_STRONG) .setInvalidatedByBiometricEnrollment(true) .build()) mKeyGenerator.generateKey() } catch (e: Exception) { logger.log(Level.FINEST, e.message, e) } } [/code] И вызов его в onAuthenticationSucceeded BiometricPrompt. Однако добавление нового отпечатка пальца не делает недействительным ранее созданный ключ и принуждение пользователя повторно ввести свои учетные данные. Что-то не так с моей реализацией?
У меня есть несколько вопросов. Не могли бы вы дать мне общий ответ или ссылки на документы, связанные с этими вопросами?
Как зашифровать и расшифровать базу данных комнат моего приложения для Android с помощью Fingerprint (биометрическая...
У меня проблема: я не знаю, как установить связь между биометрической записью и моей базой данных. Мне сказали, что мне нужно использовать SDK, но я не знаю, как это реализовать.
Я пробовал искать в руководстве, но мне выдает только этот фрагмент...
поэтому я работаю над приложением во Flutter, которое использует inappwebview. Это простой навигатор в приложении, позволяющий пользователям получать доступ к веб-платформе непосредственно из собственного приложения (запрос компании).
Приложение, к...
поэтому я работаю над приложением во Flutter, которое использует inappwebview. Это простой навигатор в приложении, позволяющий пользователям получать доступ к веб-платформе непосредственно из собственного приложения (запрос компании).
Приложение, к...