`

Jurisdiction Policy Files

阅读更多

全名叫Unlimited Strength Java(TM) Cryptography Extension (JCE) Policy Files for the Java(TM) Platform。本质是Java的policy文件(Java policy 相关请参见我的其他博文)。一般JDK内置的policy文件会对加密算法所使用的KEY的长度有所限制,一般限制在128bits(Triple-DES和RSA除外)。所以我们需要部署Unlimited Strength JCE Policy文件,来解开限制。

 

现象

我们可以用如下代码来做个小测试。

 

        KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(256);
        SecretKey sk = keyGen.generateKey();
        byte[] rawKey = sk.getEncoded();

        KEY = new SecretKeySpec(rawKey, "AES");

        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, KEY);

 如果执行后,一般会发现如下异常。

 

Exception in thread "main" 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*..)

 接着,请修改密钥长度至128bits。如果没有InvalidKeyException异常抛出,那么问题一般就是密钥的长度受限于默认的policy文件。

keyGen.init(128);

 

安装Unrestricted Policy Files

访问JDK下载页面,一般来说,你可以在这个页面上找到一个名为“Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE”的链接。比如对应JDK8的下载链接:单击

下载下来的文件是zip格式,解压缩后,可以看到2个Jar包和README。请按照readme文件的内容进行安装。

 

验证Policy文件是否安装成功

执行下面的代码,没有异常抛出,即安装成功。

 

        KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(256);
        SecretKey sk = keyGen.generateKey();
        byte[] rawKey = sk.getEncoded();

        KEY = new SecretKeySpec(rawKey, "AES");

        Cipher cipher = Cipher.getInstance("AES");
        cipher.init(Cipher.ENCRYPT_MODE, KEY);

 

原理

解开部署的2个Jar包,2个包内都有一个policy文件,内容如下:
grant {
// There is no restriction to any algorithms.
permission javax.crypto.CryptoAllPermission;
};
 真相大白。

 

 

 

分享到:
评论

相关推荐

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8

    java加解密无限制包,适用于JDK 8 ,JRE 8 。java能支持大部分的算法,但是受到出口限制,密钥长度不能满足需求。不过可以通过覆盖权限文件local_poblicy.jar和US_export_policy.jar取消相应限制。

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 包含版本6、7、8的权限文件

    Unlimited Strength Jurisdiction Policy Files5.0

    想下个jdk安全文件还真是难啊,过程太烦琐,想要么?赶紧下!~~ Unlimited Strength Jurisdiction Policy Files5.0 其中包含: local_policy.jar US_export_policy.jar

    UnlimitedJCEPolicyJDK8.rar

    jdk的无限强度管辖政策,仅限1.8版本哦|ू・ω・` )(σ゚∀゚)σ..:*☆哎哟不错哦

    jce_policy-67.rar

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7

    unlimited-jce-policy-jdk7:这是 JCE Unlimited Strength Jurisdiction Policy Files 7 in a gem!

    无限-jce-policy-jdk7 这是一个捆绑了的宝石,不能合法地重新分发。 安装 将此行添加到应用程序的 Gemfile 中: gem 'unlimited-jce-policy-jdk7' , github : 'travis-ci/unlimited-jce-policy-jdk7'

    openPGP加解密示例.docx

    搜索下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 将压缩包中的 jar包替换 %JAVA_HOME%/jre/lib/security 或者 %JRE_HOME%/lib/security 目录中的jar包 (目的是为了防止...

    Java Cryptography Extension (JCE)

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files java 8的权限文件

    oracle-jce-policy-666

    解决Illegal key size or default parameters报错问题;...Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),只需要将其部署在JRE环境中,就可以解决限制问题。

    JCE jar包 jdk1.6 - jdk1.8

    JCE Unlimited Strength Jurisdiction Policy Files; Illegal key size or default parameters密钥长度受限; 根据您jdk对应的版本替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_...

    jurisdiction_policy_files_ibm.zip

    微信消息验证,加密解密需要替换的jar,只支持ibm服务器,亲测websphere可用,weblogic未验证。tomcat等不要下载,请自行百度,随便下都可以。

    java AES加解密方式

    提示:Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),我们只需要将其部署在JRE环境中,就可以解决限制问题。 默认jdk请使用getAESKey()方法获取key

    KeyTool IUI v1.5

    用于生成,转换,查看JAVA SSL证书的GUI工具。 **** REQUIREMENTS **** 1) KeyTool IUI: ... Unlimited Strength Jurisdiction Policy Files 5.0 (http://java.sun.com/javase/downloads/index.jsp)

    JDK7_Extension_UnlimitedJCEPolicyJDK7.zip

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download JDK7 AES加密遇到:Illegal key size or default parameters 报错替换后可解决 如果安装了JRE,将两个jar文件放到%JRE...

    Shadow-Mapper:GTA IV 3D 地图编辑器

    要求您需要安装 Java 您需要 Java(TM) Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6,您可以从以下下载: : GTAIV.exe 的 1.0、1.0.1、1.0.2、1.0.3、1.0.4、1.0.0.4 版本用法下载...

    cipher-list-creator.jsp:为 Tomcat NIOBIO 连接器的 server.xml 创建密码列表

    如何使用将 cipher-list-creator.jsp 放入你的 Tomcat 中,并执行它。...JCE 无限强度管辖权政策文件要启用 256 位 AES 密码,请从安装 JCE Unlimited Strength Jurisdiction Policy Files。也可以看看

    PolyPasswordHasher-Java:PolyPasswordHasher 的 Java 实现

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 下载 将 local_policy.jar 和 US_export_policy.jar 复制到 $JAVA_HOME/jre/lib/security (注意:这些罐子已经在那里了,...

Global site tag (gtag.js) - Google Analytics