本地Windows调试接口,AES接口加密正常。但是发布到linux服务器后,
报错:
java.security.InvalidKeyException: Illegal key size
原因:
如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件。
解决方案:
去官方下载JCE无限制权限策略文件。
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
完成后重启接口服务,问题解决
需要登录oracle账号才可以下载,没有oracle账号的请点击这里下载jdk8的: