我们目前正在尝试使用生物识别技术对数据进行签名,我们使用 androidx.biometric 库。
问题是,如果没有安装指纹但注册了人脸,我们将无法生成任何密钥。
仅使用指纹或结合指纹和面部,一切都完美无缺。
仅注册了人脸,我们在密钥生成过程中会遇到以下异常:
引起:java.security.InvalidAlgorithmParameterException:java.lang.IllegalStateException:必须至少注册一个生物特征才能创建每次使用都需要用户身份验证的密钥
在我们开始生成密钥之前,我们测试生物识别的存在如下:
boolean isAvailable = biometricManager.canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS;
作为搭载 Android 10 的三星 Galaxy S10 的测试设备。
感谢您的帮助和最好的问候
android biometrics android-keystore keystore-access android-biometric-prompt