ich einen AES-Schlüssel im Android Keystor mit folgendem Code zu speichern versuchen:Android Keystor: Nicht unterstützter geheimer Schlüssel Algorithmus: AES/CBC/PKCS5Padding
SecretKey AESkey = new SecretKeySpec(
byteKey, 0, byteKey.length, "AES/CBC/PKCS5Padding");
if (ks == null)
{
ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
}
ks.deleteEntry("aes_key");
ks.setEntry("aes_key",
new KeyStore.SecretKeyEntry(AESkey),
new KeyProtection.Builder(KeyProperties.PURPOSE_ENCRYPT |
KeyProperties.PURPOSE_DECRYPT)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.build());
Die Zeile mit 'setEntry (...)' throwig versagt:
java.security.KeyStoreException: java.lang.IllegalArgumentException: Unsupported secret key algorithm: AES/CBC/PKCS5Padding
Wie kann ich meinen Schlüssel im Android.KeyStore speichern?
'CBC' und' PKCS5Padding' sind nicht Teil eines Schlüssels, aber Schlüsselgröße ist. – zaph
@zaph Sie wollen sagen, dass ich die Zeile ändern muss neue SecretKeySpec ( byteKey, 0, byteKey.length, "AES/CBC/PKCS5Padding"); zu neuem SecretKeySpec ( byteKey, 0, byteKey.length, "AES"); ? – JoeFox