错误提示:
问题:测试微信的支付回调通知,结果发现线下可以正常解密,但是线上不可以。把我困住了一下午,各种百度解决了
原因:
如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常. 因为密钥长度是受限制的, java运行时环境读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制.
解决方案:
第一步:查看自己的对应的jdk版本.
第二步:下载对应的文件
JDK7的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
第三步:放到自己的jdk以及jre下面
一定要俩文件都放 然后重启服务就OK了
我这里下好的文件:
链接:https://pan.baidu.com/s/1-GqSk0XxUa5Whp0JKbcE_A
提取码:jmjk