I want to try JDK 9 and I need JCE patched.
Where can I get JCE zip file for JDK 9
?
Or can I use the one for JDK 8 ?
I searched for JCE zip for JDK 9 but am not able to locate it.
Thanks in advance.
Asked
Active
Viewed 7,474 times
1 Answers
32
Update: Strong cryptography is now enabled out of the box for all current releases of Java 6 - 9. For details see: https://stackoverflow.com/a/39889731/3392724
I assume with 'JCE zip file' you mean the "Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files".
Apparently in Java 9 you no longer need a zip, see: http://mail.openjdk.java.net/pipermail/security-dev/2016-October/014943.html
Adding, 'Security.setProperty(“crypto.policy”, “unlimited”);' or editing the java.security configuration file will enable unlimited strength.
Additional details:
- https://bugs.openjdk.java.net/browse/JDK-8061842
- http://hg.openjdk.java.net/jdk9/dev/jdk/file/f82971b324f6/src/java.base/share/conf/security/policy/README.txt
Example using code to set the property:
import javax.crypto.Cipher;
import java.security.Security;
class Test {
public static void main(String[] args) {
Security.setProperty("crypto.policy", "unlimited");
try {
System.out.println("Hello World!");
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES/CBC/PKCS5Padding");
System.out.println(maxKeyLen);
} catch (Exception e){
System.out.println("Sad world :(");
}
}
}
Result:
Hello World!
2147483647
Press any key to continue . . .
java -version:
Java(TM) SE Runtime Environment (build 9-ea+138)
Java HotSpot(TM) Server VM (build 9-ea+138, mixed mode)
Alternatively, edit the java.security configuration file in the JRE installation folder:
- Open <jre9-home>/conf/security/java.security in your preferred text editor
- Search for the line "crypto.policy=limited"
- Change it to "crypto.policy=unlimited"

bluemind
- 1,591
- 11
- 16
-
3Thanks for the information. A note: in my installation of Java SE 10.0.1 the "crypto.policy" setting is by default "unlimited". – loïc May 23 '18 at 13:57