如何解决检测设备安全性的变化
我正在开发一个使用密钥库密钥来启用服务器身份验证的应用程序。当用户登录时,我正在创建一个密钥对,要求指纹或设备凭据使用身份验证。
我遇到的问题是,每次用户通过注册指纹或更改PIN / PASSWORD / PATTERN来更改设备的安全性时,我都试图使密钥失效。
我知道Key规范具有setInvalidatedByBiometricEnrollment()方法,但是据我所读,它仅在生物特征发生变化时才使密钥无效,如果用户仅使用设备凭据,则无济于事。此外,该方法是在API 24上添加的,我的目标是从API 23开始的设备。
这是我创建密钥的方式:
//Purposes of the key
int keyPurp =
KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT |
KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY;
//Init a builder for the key.
KeyGenParameterSpec.Builder keyBuilder = new KeyGenParameterSpec.Builder(keyAlias,keyPurp)
//We set the valid formats of the digests for signing
keyBuilder.setDigests(KeyProperties.DIGEST_SHA256,KeyProperties.DIGEST_SHA512);
//Require the user to authenticate and session expiry
keyBuilder.setUserAuthenticationRequired(true);
keyBuilder.setUserAuthenticationValidityDurationSeconds(10);
KeyGenParameterSpec keySpec = keyBuilder.build();
//Initialize the generator of the keys
generator.initialize(keySpec);
//Get the keys
generator.generateKeyPair();
是否有任何Android API可以检测Pin / Pattern / Password配置中的更改?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。