Wenn ich dieses KeyPairGeneratorSpec-Objekt in API 24 verwende, funktioniert meine Klasse.Warum KeyPairGeneratorSpec InvalidAlgorithmParameterException auf API wirft <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();
Beim Kompilieren auf niedriger als 24 ist, bekomme ich diesen Fehler:
java.security.InvalidAlgorithmParameterException: Only RSAKeyGenParameterSpec supported
Ich verstehe nicht, wie KeyPairGeneratorSpec sollte von api 18 zur Verfügung steht?
Die gleiche Problem hier, Hast du einen (eleganten) Weg gefunden, das zu beheben? – Xvolks
@Xvolks Ich erinnere mich nicht gut, wie ich es behoben habe, können Sie versuchen, diesen Parameter zur getInstance-Methode hinzuzufügen? : KeyPairGenerator kpg = KeyPairGenerator.getInstance (RSA, ANDROID_KEYSTORE); private statische letzte Zeichenfolge ANDROID_KEYSTORE = "AndroidKeyStore"; – estoke