场景:微信小程序退款给 用户 回调 报错 解密失败 微信报错
解密退款通知加密信息时出错
异常原因:微信使用AES加密解密32位密钥出现 Illegal key size 错 ,如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.
运行环境: jdk 8 ,Linux centos7
解决方案:
1.将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和US_export_policy.jar。
JDK8: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
2.cd 到 jdk1.8.0_151/jre/lib/security/
找到这个文件编辑他,
将里边的这个注释打开重启项目就可以。
小计:
与网上解决办法,有点小不同,感觉有帮助请点关注。查资料很不易,善于分享更不易。