一、前言
前两天公司的项目迭代完毕,准备上线新版本,结果项目最后只能在我的电脑上跑起来,其他人的电脑都不行,不过由于还有其它更重要一点的任务,所以就没有处理,昨天花时间解决了,因此在这里记录一下。
二、错误及解决流程
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 无限制权限策略文件
4.3、下载后解压
可以看到 local_policy.jar 和 US_export_policy.jar 以及 readme.txt
4.4、替换文件
如果安装了 JRE,将两个 jar 文件放到 %JRE_HOME%\lib\security 目录下覆盖原来的文件
如果安装了 JDK,还要将两个 jar 文件也放到 %JDK_HOME%\jre\lib\security 目录下覆盖原来文件
三、总结
由于我的上一任刚刚好就是坐在我现在这个位置的,同时因为老板刚刚好重装了他的电脑系统(原本他的电脑也配置了),所以这也就解释了为什么项目只能在我的电脑上跑起来。
以上就是我个人关于 微信 V3 支付 的一些笔记,如果有什么问题,可以将问题发我邮箱 luodiab@126.com ,欢迎各位的意见。
四、参考文章
微信支付 V3 支付通知 JAVA 解密出现 Illegal key size 错误
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于