私钥在注册时未失效



您是否遇到过Android Fingerprint API以非预期方式运行的情况?我遇到的问题是当我使用给定的attestationChallenge生成PrivateKey并为数据签名userAuthenticationValidityDurationSeconds时。如果我不注册新指纹,一切都按预期工作,但是在注册新指纹后,我希望该密钥永久失效,但事实并非如此。你有过类似的经历吗?

以下是我用来生成PrivateKey的代码。

val keyStore = KeyStore.getInstance("AndroidKeystore")
keyStore.load(null)
val keyPairGenerator = KeyPairGenerator.getInstance(algorithm, "AndroidKeyStore")
val builder = KeyGenParameterSpec.Builder("alias", KeyProperties.PURPOSE_SIGN)
builder.apply {
    setDigests(digests)
    setSignaturePaddings(paddings)
    setUserAuthenticationRequired(true)
    setInvalidatedByBiometricEnrollment(true)
    setAttestationChallenge(attestationChallenge)
    setUserAuthenticationValidityDurationSeconds(userAuthenticationValidityDurationSeconds)
}
keyPairGenerator.initialize(builder.build())
keyPairGenerator.generateKeyPair()

我做错了什么或错过了什么吗?谢谢!

回答我自己的问题。 如果PrivateKey设置为正值,则userAuthenticationValidityDurationSeconds不会作系统失效。只有在注册新指纹时,如果密钥的目的仅在使用指纹进行身份验证时使用,则该密钥才会失效。

相关内容

  • 没有找到相关文章