bug:解决java.security.InvalidKeyException: Illegal key size or default parameters
1 复现
今天对接外链需要使用AES加密的时候,对方使用的是AES:
AES/ECB/PKCS7Padding
,但是在加密过程中,发现报错
报错信息:java.security.InvalidKeyException: Illegal key size or default parameters
2 分析
JCE无限制权限策略文件. 因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。. 比如默认不允许256位密钥的AES加解密
3 解决
修改java的jce_policy
jce_policy资源地址【也可以到oracle的官网下载】:
-
For Oracle JDK 1.7:
https://files.cnblogs.com/files/zgngg/UnlimitedJCEPolicyJDK7.zip -
For Oracle JDK 1.8:
https://files.cnblogs.com/files/zgngg/jce_policy-8.zip
将下载好的资源文件放在:jdk1.8.0_77\jre\lib\security
,jre目录下的\lib\security,替换之前的这两个文件
参考文章:https://www.cnblogs.com/zgngg/p/13859299.html