受到美国法律的约束,早期Java的运行时限制了JCE支持的密钥长度,即默认不支持256位的AES。解决的方法有三个:
1、(推荐)升级Java 8u162+,默认使用ulimited policy
2、Java 8u151和8u152,可以在你的程序中直接放开策略
3、其他版本,下载无限强度权限策略文件补丁包,并使用其中的文件覆盖$JAVA_HOME/lib/security目录下的对应的local_policy.jar 和US_export_policy.jar,Java9及以上,均无限制。
增强包放在jre的lib包下的security包内的policy 这两个文件夹下都替换
JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download无限强度权限策略文件补丁包地址https://www.oracle.com/java/technologies/javase-jce8-downloads.html