java.security.InvalidKeyException: Illegal key size or default parameters

今天在使用idea打包maven项目时,出现这个错误:java.security.InvalidKeyException: Illegal key size or default parameters。(测试也可能会出现这个问题)貌似是由于加密出现了问题。html

产生错误缘由:为了数据代码在传输过程当中的安全,不少时候咱们都会将要传输的数据进行加密,而后等对方拿到后再解密使用。咱们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥加解密的时候,若是不进行特殊处理的话,每每会出现这个异常java.security.InvalidKeyException: Illegal key size。java

为何会产生这样的错误?程序员

咱们作Java开发,或是Android开发,都会先在电脑上安装JDK(Java Development Kit) 并配置环境变量,JDK也就是 Java 语言的软件开发工具包,JDK中包含有JRE(Java Runtime Environment,即:Java运行环境),JRE中包括Java虚拟机(Java Virtual Machine)、Java核心类库和支持文件,而咱们今天要说的主角就在Java的核心类库中。在Java的核心类库中有一个JCE(Java Cryptography Extension),JCE是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现,因此这个是实现加密解密的重要类库。算法

在咱们安装的JRE目录下有这样一个文件夹:%JAVE_HOME%\jre\lib\security(%JAVE_HOME%是本身电脑的Java路径,一版默认是:C:\Program Files\Java,具体看本身当时安装JDK和JRE时选择的路径是什么),其中包含有两个.jar文件:“local_policy.jar ”和“US_export_policy.jar”,也就是咱们平时说的jar包,再通俗一点说就是Java中包含的类库(Sun公司的程序大牛封装的类库,供使用Java开发的程序员使用),这两个jar包就是咱们JCE中的核心类库了。JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当咱们要使用256位密钥算法的时候,已经超出它的范围,没法支持,因此才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的异常。那么咱们怎么解决呢?安全

如何解决?oracle

解决方案:去官方下载JCE无限制权限策略文件。框架

jdk 5: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPRmaven

jdk6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.htmlide

JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 工具

下载后解压,能够看到local_policy.jar和US_export_policy.jar以及readme.txt
若是安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件。

若是安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

具体下载、解压、替换步骤:

1.下载:根据本身使用的jdk版本进入对应的连接下载(我这里是jdk8)

2.解压:

 

3.替换

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/security

4.若是不行就重启下软件,刷新下maven
原文连接:https://blog.csdn.net/dling8/article/details/84061948

相关文章
相关标签/搜索