java.security.InvalidKeyException: Illegal key size

20 篇文章 1 订阅

对接微信接口中间出现一些心酸的过程。明明本地测试没有问题,部署到服务器就出现 java.security.InvalidKeyException: Illegal key size,然后开始漫长的解决搜索过程。

day1、搜索CSDN

查看了很多文章,其中这个写得比较齐全
java.security.InvalidKeyException: Illegal key size错误
分析错误原因:解密长度引起的
提出来两个解决办法:

1 、有policy 文件夹

找到java.security

#crypto.policy=unlimited

把 # 注释去掉

2、没有policy文件夹

直接替换 local_policy.jar,US_export_policy.jar两个jar包。
JDK8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

很遗憾,根据他提供办法也没有。然后一直百度其它的。还是没有解决
我当时安装jdk是:jdk1.8.0_333 (各种百度说安装 jdk1.8.0_251更高级版本)。
理论上应该可以解决问题了。这是陷入是不是自己代码问题的猜测(这是程序员的常态,也是为什么头发少的原因),排查的凌晨3点左右,还是没有解决,然后去睡觉了

day2、搜索微信社区

查看很多文章,也跟上门描述一样的方法这边,就列举2个
[已解决]InvalidKeyException: Illegal key size
微信支付V3支付通知JAVA解密出现Illegal key size错误

也很遗憾这个问题没有解决,在晚上2点左右的,我决定求助淘宝,做一个问题图片
在这里插入图片描述
他们都付费解决问题的,在淘宝客服,让你添加QQ,微信,然后各种报价,有400,300,200,150
100的他们直接不做
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这套是淘宝程序调试bug的价格报价。一般他们会给你报价

day3 准备打算选150元,帮忙调试

做最后的打算,如果这是自己处理不成功,决定花150,让其它人排查一下。但是我这次竟然处理成功了。

下面分享操作解决步骤。

1、卸载之前jdk

yum -y remove 您的jdk版本

或者 打开 vim /etc/profile 把之前配置去掉

export JAVA_HOME=/www/server/java8/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

2、安装jdk(我选择安装open Jdk)

  • yum列表展示jdk相关软件
- yum list | grep jdk
  • 正式安装
yum -y install java-1.8.0-openjdk.x86_64

3、验证是安装成功,安装的位置

  • 验证是否安装成功
java -version

在这里插入图片描述

  • 查询安装位置
which java

在这里插入图片描述

4、替换两个jar包

替换两个jar包,把之前的2个可以做备份起来
在这里插入图片描述
下载位置上面有提供
在这里插入图片描述
如果怕官网下载麻烦,可以这里下载 https://wwi.lanzoup.com/iXGs404zm1dg(jdk8)

5、重新启动tomcat

狂喜,说不出的感动,马上写文章记录一下。就此完美解决。核心是换一个jdk

总结

程序员的生活是踏实的,也是苦逼的。没有人知道在出现一个小bug。他付出多少时间去解决。
希望这篇文章能帮助更多的程序员,让他们的开发和生活更加顺利美满。谢谢

  • 38
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值