全名叫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*..)
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);
相关推荐
java加解密无限制包,适用于JDK 8 ,JRE 8 。java能支持大部分的算法,但是受到出口限制,密钥长度不能满足需求。不过可以通过覆盖权限文件local_poblicy.jar和US_export_policy.jar取消相应限制。
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 包含版本6、7、8的权限文件
想下个jdk安全文件还真是难啊,过程太烦琐,想要么?赶紧下!~~ Unlimited Strength Jurisdiction Policy Files5.0 其中包含: local_policy.jar US_export_policy.jar
jdk的无限强度管辖政策,仅限1.8版本哦|ू・ω・` )(σ゚∀゚)σ..:*☆哎哟不错哦
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7
无限-jce-policy-jdk7 这是一个捆绑了的宝石,不能合法地重新分发。 安装 将此行添加到应用程序的 Gemfile 中: gem 'unlimited-jce-policy-jdk7' , github : 'travis-ci/unlimited-jce-policy-jdk7'
搜索下载 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 将压缩包中的 jar包替换 %JAVA_HOME%/jre/lib/security 或者 %JRE_HOME%/lib/security 目录中的jar包 (目的是为了防止...
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files java 8的权限文件
解决Illegal key size or default parameters报错问题;...Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),只需要将其部署在JRE环境中,就可以解决限制问题。
JCE Unlimited Strength Jurisdiction Policy Files; Illegal key size or default parameters密钥长度受限; 根据您jdk对应的版本替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_...
微信消息验证,加密解密需要替换的jar,只支持ibm服务器,亲测websphere可用,weblogic未验证。tomcat等不要下载,请自行百度,随便下都可以。
提示:Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),我们只需要将其部署在JRE环境中,就可以解决限制问题。 默认jdk请使用getAESKey()方法获取key
用于生成,转换,查看JAVA SSL证书的GUI工具。 **** REQUIREMENTS **** 1) KeyTool IUI: ... Unlimited Strength Jurisdiction Policy Files 5.0 (http://java.sun.com/javase/downloads/index.jsp)
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download JDK7 AES加密遇到:Illegal key size or default parameters 报错替换后可解决 如果安装了JRE,将两个jar文件放到%JRE...
要求您需要安装 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 中,并执行它。...JCE 无限强度管辖权政策文件要启用 256 位 AES 密码,请从安装 JCE Unlimited Strength Jurisdiction Policy Files。也可以看看
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 下载 将 local_policy.jar 和 US_export_policy.jar 复制到 $JAVA_HOME/jre/lib/security (注意:这些罐子已经在那里了,...