gpt4 book ai didi

android - 为什么 KeyPairGeneratorSpec 在 API < 24 上抛出 InvalidAlgorithmParameterException

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:00 24 4
gpt4 key购买 nike

当我在 API 24 中使用这个 KeyPairGeneratorSpec 对象时,我的类有效。

KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(this)
.setAlias(KEY_ALIAS)
.setSubject(new X500Principal("CN=" + KEY_ALIAS))
.setSerialNumber(BigInteger.TEN)
.setStartDate(start.getTime())
.setEndDate(end.getTime())
.build();
KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA);
kpg.initialize(spec);
keyPair = kpg.generateKeyPair();

在低于 24 的平台上编译时,出现此错误:

java.security.InvalidAlgorithmParameterException: Only RSAKeyGenParameterSpec supported

我不明白,因为 KeyPairGeneratorSpec 应该可以从 api 18 获得?

最佳答案

今天早些时候 Pixel 模拟器 (API 23) 也出现了这个问题,引发了“仅支持 RSAKeyGenParameterSpec” 异常,而 Nexus 5X (API 24) 则没有问题。

可以确认修复是将“AndroidKeyStore”作为第二个参数添加到对 KeyPairGenerator 上的 getInstance 的调用中,如上面提到的@estoke:

即:

KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");

关于android - 为什么 KeyPairGeneratorSpec 在 API < 24 上抛出 InvalidAlgorithmParameterException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40421743/

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