如何使用我们自己的应用添加新的指纹?

时间:2018-08-01 16:41:48

标签: android fingerprint biometrics

我已经在Internet上搜索了有关如何使用我们自己的应用程序添加新指纹的信息,但是我找不到任何东西,我也对此进行了搜索,发现了一些相同的问题,但没有人对此回答正确,所以我决定再问这个问题。

我已经通过指纹成功完成了身份验证 但知道我想向我的应用添加多个指纹 我正在制作一个应用程序,新用户首先在这里注册,然后在其中输入名称,地址,电子邮件ID,年龄和指纹。所有数据存储在MYSQLI中 之后,当新用户成功注册后,当同一个人尝试登录时,他应该做的第一件事是在扫描成功后显示他在注册​​过程中提到的所有详细信息时扫描手指 我的意思是他的名字,地址,EmailID,年龄

所以,这就是我想要的与生物特征指纹读取器类似的东西,但是我想使用移动指纹扫描仪来做到这一点,有人可以帮助我吗? 我已经做到了 Fingerprint但没有成功帮帮我,谢谢

1 个答案:

答案 0 :(得分:0)

使用移动设备内置的指纹读取器/框架在应用程序的指导下添加指纹不可能

来自Android Source Site:Security:Authentication:Enrollment

  

在恢复出厂设置后首次启动设备时,所有身份验证器都准备接收用户的凭据注册。 用户必须首先使用Gatekeeper注册PIN /图案/密码。此初始注册将创建随机生成的64位用户SID(用户安全标识符),该ID用作用户的标识符并用作用户的加密材料的绑定令牌。该用户SID密码绑定到用户密码;对Gatekeeper的成功身份验证会导致AuthToken,其中包含该密码的用户SID。

关键部分是:

用户必须首先使用Gatekeeper注册PIN /图案/密码。

这意味着所有者/用户必须注册一个最终将与指纹相关联的PIN。

  

想要更改凭证的用户必须提供现有凭证。如果成功验证了现有凭据,则将与现有凭据关联的用户SID转移到新凭据,使用户可以在更改凭据后继续访问密钥。如果用户不提供现有凭证,则使用完全随机的用户SID注册新凭证。用户可以访问设备,但是在旧用户SID下创建的密钥将永久丢失。这被称为不受信任的注册。

在继续阅读时,您阅读:

如果用户不提供现有证书,则使用完全随机的用户SID注册新证书。用户可以访问设备,但是在旧用户SID下创建的密钥将永久丢失。这被称为不受信任的注册。

也许您希望您的应用程序可以调用不受信任的注册

但是

  

在通常情况下,Android框架不允许不信任的注册,因此大多数用户永远不会看到此功能。。但是,设备管理员或攻击者会强制重置密码,可能会导致这种情况发生。

因此,仅允许应用通过FingerprintManagerBiometricPrompt

知道用户是否已认证了预先注册的指纹。

我该怎么办

您必须研究外部指纹读取器才能实现所需的功能。 自定义ROM可能是另一种研究途径,但由于希望每个指纹也都与PIN进行密码关联,因此可能需要进行许多更改(请参见上文第一引号)。