微信支付V3支付通知Java解密出现Illegal key size错误

JDK版本:1.8.0

如果您确认自己的参数无误,符合官方文档中要求的参数。

解密时如果一直出现这个错误,是因为JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的异常

 IllegalKeySize问题是在使用Java加密算法时,出现密钥长度错误提示的问题。这个问题的主要原因是因为Java的一些策略限制了加密算法使用的密钥长度,这些限制是由美国政府出于出口管制目的而制定的。

解决方案:去官方下载JCE无限制权限策略文件

JDK5: Java Archive Downloads - Java Platform Technologies

JDK6: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

JDK7: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

JDK8: JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download

下载后解压,可以看到local_policy.jarUS_export_policy.jar以及readme.txt 

如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件。

如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。

这样就可以解密成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个肥鲶鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值