java.security AES encryption key length
Java comes with a default maximum strength of 128 bits.
What you need is a set of files called Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files and is currently available at the Java SE download page. This zip file contains a couple of policy jars, which you need copy over the top of the ones already in the {java.home}/jre/lib/security directory of your JRE.
This will let you change the key strength above 128 bits
Related videos on Youtube
Cacheing
Updated on September 14, 2022Comments
-
Cacheing over 1 year
When the key length is 128 bits,everything works. But I got the following exception when I use a key of length 192 or 256 bits.
java.security.InvalidKeyException: Illegal key size or default parameters at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.a(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..) at javax.crypto.Cipher.init(DashoA13*..)
I found this Java Security: Illegal key size or default parameters?. But after I download the jar files and put it in
${java.home}/lib/security/
, I still got the same exception. -
Cacheing over 10 yearsBut I download the jar files from oracle.com/technetwork/java/javase/downloads/…, and put it under ${java.home}/lib/security/, still got the exception.
-
Cristian Meneses over 10 yearsYes, all you need to do is to put those jar files on the lib/security dir of the JRE which is running the java program
-
Matthew Farwell over 10 years@Cacheing Make sure they go in ${java.home}/jre/lib/security, not as you said above ${java.home}/lib/security
-
peter over 8 years@Christian The key size is limited to 128 bits not bytes.