1
AES/CBC/PKCS5Padding에 :안드로이드 키 스토어 : 지원되지 않는 비밀 키 알고리즘 : 나는 다음과 같은 코드를 사용하여 안드로이드 키 스토어의 AES 키를 저장하기 위해 노력하고
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());
와 라인 '지정해 setEntry (...)' 던지기 실패 :
java.security.KeyStoreException: java.lang.IllegalArgumentException: Unsupported secret key algorithm: AES/CBC/PKCS5Padding
어떻게하면 Android.KeyStore에 내 키를 저장할 수 있습니까?
'CBC'와 'PKCS5Padding'은 키의 일부가 아니지만 키 크기는입니다. – zaph
@zaph 당신은 새로운 SecretKeySpec ( byteKey, 0, byteKey.length, "AES/CBC/PKCS5Padding")을 변경해야한다고 말하고 싶습니다. 새로운 SecretKeySpec에 ( byteKey, 0, byteKey.length, "AES"); ? – JoeFox