【发布时间】:2017-07-19 19:52:11
【问题描述】:
当我在 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 获得?
【问题讨论】:
-
同样的问题,你找到解决这个问题的(优雅的)方法了吗?
-
@Xvolks 我不记得我是如何修复它的,您可以尝试将此参数添加到 getInstance 方法吗? : KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA, ANDROID_KEYSTORE);private static final String ANDROID_KEYSTORE = "AndroidKeyStore";
标签: android android-keystore key-pair