? 在接口对接过程中,由于用到AES加密,经常会遇到java.security.InvalidKeyException: Illegal key size or default parameters异常。所以决定开个博客,专门记录一下。
? 由于美国对软件出口的管制,Java通过默认的policy文件来限制密钥长度。因此当密钥长度超过128位时,就会报java.security.InvalidKeyException: Illegal key size or default parameters异常。
? 所幸,Oracle在其官网有提供无政策限制的policy文件,只需下载并将其中的local_policy.jar和US_export_policy.jar两个jar包替换到%JAVA_HOME%\jre\lib\security\ 目录下,即可解决问题。不放心的同学可以先做好那两个jar包的备份。当然,你得找对你所用版本的java所在的目录,如果你的服务器上只有JRE环境,那就放到 %JRE_HOME%\lib\security\ 目录下。
?
官网下载地址:
- JDK8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
- JDK7:http://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/jce-7-download-432124.html
- JDK6:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
- JDK5:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
- JDK4:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#7503-jce-1.4.2-oth-JPR
?
?
?