3
当我在API 24中使用此KeyPairGeneratorSpec对象时,我的类工作正常。为什么KeyPairGeneratorSpec在API中引发InvalidAlgorithmParameterException <24
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
@Xvolks我不记得我是如何解决它的,你可以尝试将这个参数添加到getInstance方法吗? :KeyPairGenerator kpg = KeyPairGenerator.getInstance(RSA,ANDROID_KEYSTORE); private static final String ANDROID_KEYSTORE =“AndroidKeyStore”; – estoke