180701-JCE无限制权限策略

JCE无限制权限策略

因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。

问题原因

  1. 项目使用AES加密,出现异常如下:
    java.security.InvalidKeyException: Illegal key size

异常原因:如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.

解决办法

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

下载地址

下载地址:

操作步骤:
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

替换完毕后,记得重启应用

参考资料

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×