码迷,mamicode.com
首页 > 其他好文 > 详细

aes加解密 Illegal key size

时间:2017-01-16 22:33:20      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:key   val   原因   错误   local   efault   exception   http   jce   

做aes加密时,发生一个奇怪的错误,在本地环境是好的,发布到测试环境就出问题,

java.security.InvalidKeyException: Illegal key size

想到本地环境之前也是遇到加密问题,从oracle官网下载了两个文件,覆盖本地文件得到解决。

推测测试环境肯定也是此原因,照此方法,测试环境aes加解密问题得到解决,特此记录下来,避免下次再踩坑。

问题背景:

Java几乎各种常用加密算法都能找到对应的实现。因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题:
●密钥长度上不能满足需求(如:java.security.InvalidKeyException: Illegal key size or default parameters);
●部分算法未能支持,如MD4、SHA-224等算法;
●API使用起来还不是很方便;一些常用的进制转换辅助工具未能提供,如Base64编码转换、十六进制编码转换等工具。

 Oracle在其官方网站上提供了无政策限制权限文件(Unlimited Strength Jurisdiction Policy Files),我们只需要将其部署在JRE环境中,就可以解决限制问题。

 

解决方案如下:

处理办法: 在官方网站下载JCE无限制权限策略文件

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目录下覆盖原来文件

 

 

aes加解密 Illegal key size

标签:key   val   原因   错误   local   efault   exception   http   jce   

原文地址:http://www.cnblogs.com/vincent0928/p/6291120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!