Android - 指纹保护密钥失效

时间:2017-09-15 11:42:38

标签: android android-keystore android-fingerprint-api

我在Android 7设备(Nexus 5X)上的AndroidKeyStore中存储指纹保护密钥对。

这些密钥的生命周期很大程度上取决于设备的用户指纹设置状态,我面临着无法解释的情况。

初始状况:设备上已注册用户指纹,并且已生成指纹保护密钥对。

场景1(正常):如果我从Android指纹菜单中删除已注册的指纹并立即注册新指纹,而不退出Android指纹菜单,则先前生成的密钥对会按预期失效(使用此密钥对调用cipher.init时抛出'InvalidKeyException')

场景2(ABNORMAL):如果我从Android指纹菜单中删除已注册的指纹,退出Android指纹菜单,然后在登录到Android指纹菜单后注册新指纹,之前生成的密钥对没有失效。 (使用此密钥对调用cipher.init时不会抛出'InvalidKeyException')

如何解释场景2?

更新

场景2不是系统性的,根据我的尝试,似乎如果在删除前一个之后的短时间间隔内定义了新指纹,则第一个密钥对将不会被无效。如果在定义新指纹之前有一些时间过得很快(比如1分钟),那么第一个密钥对将无效(正常情况)。

0 个答案:

没有答案