java.security.InvalidKeyException: Illegal key size

在JAVA使用AES加密时,抛出异常,异常信息为:java.security.InvalidKeyException: Illegal key size,这是因为用到了jdk sercurity, 而jdk sercurity 使用的jar包 $JAVA_HOME/lib/security/local_policy.jar 和 $JAVA_HOME/jre6_64/lib/security/US_export_policy.jar中有对技术出口的限制,加密只有128bit,而没有限制的则有256bit.简言之就是JKD默认只支持AES,16位Key的加密,当你使用32位Key进行加密时,则会抛出异常。

解决方案:

1. 到这里选择下载Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 1.4.2

 

2. 下载jce_policy-1_4_2.zip后解压,放入$JAVA_HOME/lib/security/目录下替换原来的jar包。

 

3. 重启服务

posted @ 2013-09-11 12:44  青春摇摆流年  阅读(245)  评论(0)    收藏  举报