java aes 256 java.security.InvalidKeyException: Illegal key size after installation the policy [duplicate]

StackOverflow https://stackoverflow.com/questions/20802380

  •  22-09-2022
  •  | 
  •  

質問

i have a problem with the encrypt of the bytes with an AES 256 key. I already installed the policy. Here's what I've done:

  1. download the file: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
  2. I moved the files local_policy and US_export_policy to the directory /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/security
  3. i restart the mac

But still I get an error message with the following code:

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

My Java version:

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)

What i have to do, to use the 256 AES encryption?

役に立ちましたか?

解決

Policy files should resolve the issue. Check the path environment variable to confirm that you are using the same jre which has policy files.

他のヒント

IMPORTANT: you have know you jre location. eg: in my compute have C:\Java\jre7\lib\security and C:\Java\jdk1.7.0_02\jre\lib\security, but eclipse show the jre is C:\Java\jre7\lib\security,so you must copy two file into here.

What I did downloaded policy file from this location http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html paste in location jre/lib/security/ and it workes....

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top