When I'm using this KeyPairGeneratorSpec object in API 24, my class works.
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();
When compiling on lower than 24, I get this error:
java.security.InvalidAlgorithmParameterException: Only RSAKeyGenParameterSpec supported
I don't understand, as KeyPairGeneratorSpec should be available from api 18?