Android Keystore 无法为 Keystore Key 创建密码

问题描述

我无法在任何手机上重现此内容,只有来自用户的日志。他们有一部华为手机,看起来他们的 Keystore 代码已被修改,因为没有任何行号与 googlesource 一致。尝试从密钥创建密码对象时会发生这种情况。 Cipher.init。用户拥有华为(Nova 3i)。我看到了华为的其他一些问题:Huawei p8 or p8 Lite has problem with Keystore Encryption

java.security.InvalidKeyException:密钥库操作失败 在 android.security.KeyStore.getInvalidKeyException(KeyStore.java:924) 在 android.security.KeyStore.getInvalidKeyException(KeyStore.java:949) 在 android.security.keystore.KeyStoreCryptoOperationUtils.getInvalidKeyExceptionForInit(KeyStoreCryptoOperationUtils.java:54) 在 android.security.keystore.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:89) 在 android.security.keystore.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:265) 在 android.security.keystore.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:148) 在 javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2980) 在 javax.crypto.Cipher.tryCombinations(Cipher.java:2891) 在 javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2796) 在 javax.crypto.Cipher.chooseProvider(Cipher.java:773) 在 javax.crypto.Cipher.init(Cipher.java:1288) 在 javax.crypto.Cipher.init(Cipher.java:1223)

引起:android.security.KeyStoreException:设备被锁定 在 android.security.KeyStore.getKeyStoreException(KeyStore.java:862)

有没有人在华为手机或其他手机上遇到过这种情况?看起来密钥可以在某个时候使用,但不能再次使用。密钥生成示例

val keyStore = KeyStore.getInstance(ANDROID_KEYSTORE)
keyStore.load(null)
val keyGenerator = KeyGenerator.getInstance(
        KeyProperties.KEY_ALGORITHM_AES,ANDROID_KEYSTORE)
val builder = KeyGenParameterSpec.Builder(
        keyName,KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
    .setBlockModes(KeyProperties.BLOCK_MODE_GCM)
    .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
keyGenerator.init(builder.build())
val key = keyGenerator.generateKey()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...