Ни один поставщик не предлагает [AES_256, GCM, NoPadding] для ключа AES класса android.security.keystore2.AndroidKeyStorAndroid

Форум для тех, кто программирует под Android
Anonymous
Ни один поставщик не предлагает [AES_256, GCM, NoPadding] для ключа AES класса android.security.keystore2.AndroidKeyStor

Сообщение Anonymous »

Я пытался зашифровать данные с помощью SecretKey, как показано ниже:

Код: Выделить всё

KeyGenParameterSpec keyGenParameterSpec = new KeyGenParameterSpec.Builder(
"alias", KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
.setKeySize(256)
.setBlockModes(KeyProperties.BLOCK_MODE_GCM)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
.setUserAuthenticationRequired(true)
.setUserAuthenticationValidityDurationSeconds(30)
.build();
KeyGenerator keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");
keyGenerator.init(keyGenParameterSpec);
SecretKey secretKey = keyGenerator.generateKey();
Cipher cipher = Cipher.getInstance("AES_256/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(iv));
byte[] doFinal = cipher.doFinal(inputBytes);
Но происходит сбой со следующей ошибкой: ни один поставщик не предлагает [AES_256, GCM, NoPadding] для ключа AES класса android.security.keystore2.AndroidKeyStoreSecretKey и формата экспорта null
Какой совет?

Подробнее здесь: https://stackoverflow.com/questions/784 ... oid-securi

Вернуться в «Android»