luodiab 的个人博客 luodiab 的个人博客

每个圣人都有无可告人的过去 每个罪人都有洁白无瑕的未来

目录
微信支付V3支付通知JAVA解密出现Illegal key size错误
/  

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

一、前言

前两天公司的项目迭代完毕,准备上线新版本,结果项目最后只能在我的电脑上跑起来,其他人的电脑都不行,不过由于还有其它更重要一点的任务,所以就没有处理,昨天花时间解决了,因此在这里记录一下。

二、错误及解决流程

1、报错信息

java.security.InvalidKeyException: Illegal key size

2、信息排查

一开始我所关注的并不是这个信息,因为在它之前跳出的错误是spring不能加载某个bean,从而导致的出错,在我检查完相关代码及配置文件,确定这个bean是已经被我配置好后,我才注意到了这个信息。

3、报错原因

根据我上网搜索到的内容显示,这是因为JRE中自带的“local_policy.jar ”和“US_export_policy.jar”是支持128位密钥的加密算法,而当我们要使用256位密钥算法的时候,已经超出它的范围,无法支持,所以才会报:“java.security.InvalidKeyException: Illegal key size or default parameters”的异常。

4、解决方案

4.1、先检查你环境的JDK版本

例如是JDK6、JDK7、JDK8

4.2、去官方下载JCE无限制权限策略文件

这里给出几个链接:
JDK5
JDK6
JDK7
JDK8

4.3、下载后解压

可以看到local_policy.jar和US_export_policy.jar以及readme.txt

01微信V3支付出现错误.jpg

4.4、替换文件

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

02微信V3支付出现错误.jpg

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

03微信V3支付出现错误.jpg

三、总结

由于我的上一任刚刚好就是坐在我现在这个位置的,同时因为老板刚刚好重装了他的电脑系统(原本他的电脑也配置了),所以这也就解释了为什么项目只能在我的电脑上跑起来。

以上就是我个人关于 微信V3支付 的一些笔记,如果有什么问题,可以将问题发我邮箱 luodiab@126.com ,欢迎各位的意见。

四、参考文章

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

java.security.InvalidKeyException: Illegal key size错误

加解密库下载与返回码


标题:微信支付V3支付通知JAVA解密出现Illegal key size错误
作者:luodiab
地址:https://www.luodiab.top/articles/2023/08/09/1691548558411.html