java aes 256 java.безопасность.InvalidKeyException: недопустимый размер ключа после установки политики [дубликат]


На этот вопрос уже есть ответ здесь:

У меня есть проблема с шифрованием байтов с ключом AES 256. Я уже установил этот полис. Вот что я сделал:

  1. загрузите файл: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
  2. Я переместил файлы local_policy и US_export_policy в каталог / Library / Java/JavaVirtualMachines / jdk1.7.0_40.jdk / Contents / Home/jre/lib / security
  3. я перезапускаю mac

Но все равно я получаю сообщение об ошибке со следующим кодом:

KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(256);
SecretKey secretKey = keyGenerator.generateKey();
Cipher decryption = Cipher.getInstance("AES/CBC/PKCS5PADDING");
decryption.init(Cipher.DECRYPT_MODE, secretKey, 
new IvParameterSpec(secretKey.getEncoded())); // <-- Illegal key size

Моя версия Java:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

Что я должен сделать, чтобы использовать шифрование 256 AES?

3 8

3 ответа:

Файлы политики должны решить эту проблему. Проверьте переменную среды path, чтобы убедиться, что вы используете ту же jre, которая содержит файлы политик.

Важно: вы должны знать, что вы JRE местоположение. например: в моем вычислении есть C:\Java\jre7\lib\security и C:\Java\jdk1.7.0_02\jre\lib\security, но eclipse показывает, что jre-это C:\Java\jre7\lib\security, поэтому вы должны скопировать два файла сюда.

Что я сделал загруженный файл политики из этого расположения http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html вставьте в место jre/lib/security/ и это работает....