> 文章列表 > 关于加解密方法报错java.security.InvalidKeyException: Illegal key size

关于加解密方法报错java.security.InvalidKeyException: Illegal key size

关于加解密方法报错java.security.InvalidKeyException: Illegal key size

关于加解密方法报错java.security.InvalidKeyException: Illegal key size
关于加解密方法报错java.security.InvalidKeyException: Illegal key size

1、找到自己的jdk安装路径下去;

关于加解密方法报错java.security.InvalidKeyException: Illegal key size

2、找到java.security查看是否存在#crypto.policy=unlimited,如果有把该#号去掉,注释打开;

关于加解密方法报错java.security.InvalidKeyException: Illegal key size

3、若java.security文件中不存在#crypto.policy=unlimited,则应该去从官网下载jce策略文件(补丁包),进入到jdkjre\\lib\\security目录 ,覆盖原有策略文件;

注意:如果jdk、jre同时安装,则应该到两个路径下的security中去覆盖;

关于加解密方法报错java.security.InvalidKeyException: Illegal key size
关于加解密方法报错java.security.InvalidKeyException: Illegal key size
替换JDK受限文件级配置

JDK7的下载地址: https://www.oracle.com/java/technologies/javase-jce7-downloads.html
JDK8的下载地址: https://www.oracle.com/java/technologies/javase-jce8-downloads.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt,如果安装了JRE,将两个jar文件放到%JRE_HOME%\\lib\\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\\jre\\lib\\security目录下覆盖原来文件。

报错原因:JDK受版本安全限制,默认只允许128位长度以内的。秘钥长度,如果密钥大于128,
会抛出java.security.InvalidKeyException: Illegal key size 异常.
java运行时环境默认读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security,
这种限制是因为美国对软件出口的控制所造成的的.JDK1.8之后已经兼容了该问题。