Skip to content

Instantly share code, notes, and snippets.

Created October 1, 2013 23:39
Show Gist options
  • Save nogweii/6786915 to your computer and use it in GitHub Desktop.
Save nogweii/6786915 to your computer and use it in GitHub Desktop.
A quick test to see if you have the JCE Unlimited Strength Jurisdiction Policy files installed. If you don't, in Java 6 you'll see 128. If you do, you'll see 2147483647. Thanks to
java Test
import javax.crypto.Cipher;
class Test {
public static void main(String[] args) {
try {
System.out.println("Hello World!");
int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");
} catch (Exception e){
System.out.println("Sad world :(");
Copy link

Very nice little util. Thanks dude.

Copy link

Giszmo commented Jun 13, 2016

Your code assumes it would crash for merely asking for bullshit policies. Here it doesn't crash and I had to test for maxKeyLen < Integer.MAX_VALUE.

Copy link

Thanks dude. 👍

Copy link

kmark commented Sep 22, 2016

From my understanding 2147483647 (Integer.MAX_VALUE) is not a "bullshit policy" but rather the result you get if you're using OpenJDK which has no limits. See:

Copy link

Very useful. Thanks for posting.

Copy link

pdehlke commented Apr 28, 2017

As a one-liner: $JAVA_HOME/bin/jrunscript -e 'print (javax.crypto.Cipher.getMaxAllowedKeyLength("RC5") >= 256);'

Copy link

one-liner - perfect, needed in bash script!

Copy link

TiloGit commented Nov 7, 2017

thanks for the info. Here mod one liner for WAS (IBM) on Win
C:\IBM\WebSphere\AppServer\java\8.0\bin\jrunscript -e "print (javax.crypto.Cipher.getMaxAllowedKeyLength('AES'))"
C:\IBM\WebSphere\AppServer\java_1.7.1_64\bin\jrunscript -e "print (javax.crypto.Cipher.getMaxAllowedKeyLength('AES'))"

If you want true/false
jrunscript -e "print (javax.crypto.Cipher.getMaxAllowedKeyLength('AES') >= 256)"
jrunscript -e "print (javax.crypto.Cipher.getMaxAllowedKeyLength('RC5') >= 256)"

Copy link

kfowlks commented Dec 6, 2017

Excellent work!

Copy link

daudich commented Jun 26, 2018

Thanks for this and the one liners!

Copy link

Thanks dude.

Copy link

unzip -c ${JAVA_HOME}/jre/lib/security/local_policy.jar default_local.policy | grep -q javax.crypto.CryptoAllPermission && echo "unlimited JCE" || echo "vanilla JCE"

Copy link

In Eclipse:

Copy link

Great help, thanks for the post.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment