Я использую этот код для генерации моей пары ключей RSA на уровне API> = 23
KeyPairGenerator spec = KeyPairGenerator.getInstance(
KeyProperties.KEY_ALGORITHM_RSA, Constants.KEYSTORE_NAME);
KeyGenParameterSpec keyGenParameterSpec = new KeyGenParameterSpec.Builder(
keyStoreAlias, KeyProperties.PURPOSE_DECRYPT | KeyProperties.PURPOSE_ENCRYPT)
.setKeySize(2048)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)
.setKeyValidityStart(notBefore.getTime())
.setKeyValidityEnd(notAfter.getTime())
.setCertificateSubject(new X500Principal("CN=test"))
.setCertificateSerialNumber(BigInteger.ONE)
.build();
spec.initialize(keyGenParameterSpec);
KeyPair keyPair = spec.generateKeyPair();
Если я пытаюсь создать этот код на уровне API <23, компилятор говорит: «Для вызова требуется как минимум API Уровень 23 ". </p>
Как я могу преобразовать этот код, чтобы он работал с API-уровнем <23? </p>
setKeySize, setEncryptionPaddings .. Эти функции недоступны API-уровень <23. Как я могу установить дополнения шифрования, например, на уровне API 14? </p>