首页 > 解决方案 > 不活动后的指纹

问题描述

我正在实施指纹支持以保护我的应用程序的敏感区域并访问某些 Web API(使用签名)。我正在像这样初始化密钥生成器:

            keyPairGenerator.initialize(
                KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN)
                .setDigests(KeyProperties.DIGEST_SHA256)
                .setAlgorithmParameterSpec(ECGenParameterSpec("secp256r1"))
                .setUserAuthenticationRequired(true)
                .setInvalidatedByBiometricEnrollment(true)
                .build()
        )

每次检索密钥以创建签名时,此设置都需要用户的指纹。我想要的行为更像是这样:

            keyPairGenerator.initialize(
                KeyGenParameterSpec.Builder(KEY_NAME, KeyProperties.PURPOSE_SIGN)
                .setDigests(KeyProperties.DIGEST_SHA256)
                .setAlgorithmParameterSpec(ECGenParameterSpec("secp256r1"))
                .setUserAuthenticationRequired(true)
                .setUserAuthenticationValidityDurationSeconds(10)
                .setInvalidatedByBiometricEnrollment(true)
                .build()
        )

由于“setUserAuthenticationValidityDurationSeconds”,这里的身份验证可以持续 10 秒。我真正想要的是“setUserAuthenticationInvalidAfterInactivitySeconds”之类的东西。换句话说,我希望只有在用户在我的应用程序中一段时间​​不活动后,身份验证才会失效。这是否存在或者我必须创建一些专有的东西?

标签: androidsecurityauthenticationauthorizationfingerprint

解决方案


推荐阅读