gpt4 book ai didi

android - 来自 keystore 的 key 的编码文本在 android M 中为空

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:40 25 4
gpt4 key购买 nike

我需要实现 256 位 AES 加密,我引用这个- http://nelenkov.blogspot.jp/2015/06/keystore-redesign-in-android-m.htmlKeyGenerator 看起来像这样。

KeyGenerator keyGenerator = KeyGenerator
.getInstance(KeyProperties.KEY_ALGORITHM_AES,"AndroidKeyStore");
KeyGenParameterSpec spec = new KeyGenParameterSpec.Builder(keyName,
KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)

.setUserAuthenticationValidityDurationSeconds(5 *11160)
.build();
keyGenerator.init(spec);
SecretKey key1 = keyGenerator.generateKey();

当我从 keystore 导入 key 的编码值时,它向我返回 null。

KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
SecretKey key3 = (SecretKey) keyStore.getKey(keyName, null);
Log.d("Test MM",key3.getEncoded()+",");

我在 logcat 中发现了 key3.getEncoded() 的空值。请给我一些建议。

最佳答案

在 keystore 中生成的对称 key 在 Android M 中是不可导出的。所以它完全按照预期的方式工作。您仍然可以使用带有 Cipher 的 key 来加密/解密,但您无法获取原始 key 字节。一般来说,您应该需要两者之一。

关于android - 来自 keystore 的 key 的编码文本在 android M 中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32141884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com