gpt4 book ai didi

java - Android 6.0 keystore ClassCastException

转载 作者:行者123 更新时间:2023-11-30 01:17:57 26 4
gpt4 key购买 nike

我正在使用 Qlassified library并且我在 android 6.0 和 6.0.1 上抛出以下异常:java.lang.ClassCastException:android.security.keystore.AndroidKeyStoreECPublicKey 无法转换为 java.security.interfaces.RSAPublicKey

具体来说,当数据在此代码块内被加密时会发生这种情况:

final KeyStore.PrivateKeyEntry privateKeyEntry = (KeyStore.PrivateKeyEntry) keyStoreInstance.getEntry(alias, null);

final RSAPublicKey publicKey = (RSAPublicKey) privateKeyEntry.getCertificate().getPublicKey(); // error

byte[] dataBytes = input.getBytes(CHARSET);
Cipher cipher = Cipher.getInstance(ALGORITHM, ANDROID_MODE);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
return Base64.encodeToString(cipher.doFinal(dataBytes), BASE64_MODE);

有什么想法吗?

最佳答案

这来自存储在 keystore 中的 key 的生成。您使用的是 EC 算法。您必须像这样指定 RSA 算法:

KeyPairGenerator generator = KeyPairGenerator.getInstance(KeyProperties.KEY_ALGORITHM_RSA, "AndroidKeyStore");
generator.initialize(params);

我遇到了同样的问题,这个解决了。

关于java - Android 6.0 keystore ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37553819/

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