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

关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第1张图片
关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第2张图片

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

关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第3张图片

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

关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第4张图片

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

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

关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第5张图片
关于加解密方法报错java.security.InvalidKeyException: Illegal key size_第6张图片
替换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之后已经兼容了该问题。

你可能感兴趣的:(java,jvm,jar)