java-解决默认jdk限制密钥长度,linux和windows都可用

报错

今天在服务器上新搭建的storm集群,处理大数据日志分析,发现报错:java.security.InvalidKeyException: Illegal key size

java-解决默认jdk限制密钥长度,linux和windows都可用


原因

如果密钥大于128,会抛出java.security.InvalidKeyException: Illegal key size 异常。

因为密钥长度是受限制的,java运行时环境读到的是受限的policy文件,文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制


解决

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


分享到:


相關文章: