微信开放平台第三方解密失败

1 篇文章 0 订阅

微信开放平台第三方解密失败

微信开放平台第三方解密失败解决

报错信息如下:java.security.InvalidKeyException: Illegal key size

一开始开发时在本地进行的,把相关配置的地址指向了我本地,解密没有问题,当正个模块开放好之后方到了测试环境,(测试环境是由两台服务器组成,通过nginx来进行控制)测试时发现有一台服务112 解密的时候都是失败的,而114 上每一次都是成功的,这个时候看了下官方文档,给出的解决办发是:在官方网站下载 JCE 无限制权限策略文件 然后替换%JAVE_HOME%\jre\lib\security 下的:“local_policy.jar” 和“US_export_policy.jar” 这两个jar ,按照要求下载相关版本的jar :

1:注释掉nginx 上114上的服务,使每次请求都下下发到112 上

2:发现112 上的服务还是失败,猜想是不是需要重新启动服务之类的

3:执行source /etc/profile :使jdk 环境变量生效并重新启动微服务

4:继续观察微服务 发现微信第三方下发的请求,服务还是解密失败。

5:查看114服务器上 解密成功的jdk 版本,发现是open_jdk 1.8.-(具体的小版本号忘记了)此时我突然懵逼了,因为112 和114 上的jdk 应该都是1.8.144 ,查看两台环境上的jdk环境变量发现所指向的版本是一样的。那么114 java -version 版本号和114 不一样的原因那么就是open jdk 影响的了,卸载open jdk 且执行:source /etc/profile 然后运行java -version 命令,发现和114 和112 上的jdk版本一致了,然后把nginx 上112的服务注释,使每次请求都到114 上来,后观察114 上的服务发现,解密和112 上一样都解密失败了且报错一致都是:java.security.InvalidKeyException: Illegal key size

6:回想了一下,一开始是114成功,112失败,发现jdk 版本不一致,修改一致后都失败了,然后查看卸载open jdk 的命令,发现opek jdk 小版本上比我高了一点点

7:去官网下载jdk8 最新的版本:jdk-8u311-linux-x64.tar.gz 重新配置测试环境jdk 环境变量使之对应新版本

8:此时发现两台服务中的第三方解密请求都成功了。(忘记有没有重新启动微服务 方便的话重启下看看下效果)

注:有些忘记的小细节是因为元旦前解决的问题,这个问题改好之后我就下班做高铁回家了。。。。节4号想起来记录下。。。

山有木兮木有枝,心悦君兮君不知。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值