报错解决:java.security.InvalidKeyException: Illegal key size(微信支付v3遇到的问题)

前言

在使用微信支付v3生成jar包后

本地测试没有问题

放在linux服务器上运行时碰到报错
在这里插入图片描述

原因是因为微信支付256位秘钥加密解密策略可能会导致

某些jdk的版本
加密解密出现问题

解决

首先观察你这个目录下的
文件 根据文件内容做判断

在这里插入图片描述

看下目录里面是有一个 policy 文件夹,还是有local_policy.jar

第一种情况

没有policy 文件夹,而是直接就有local_policy.jar

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

这里贴出jdk 8的国内地址 方便下载
https://wwi.lanzoup.com/iXGs404zm1dg

解压后包内的文件是
在这里插入图片描述

我这里使用了XFTP
进行服务器的文件操作

把你下载好的这两个文件覆盖源文件

在这里插入图片描述

接着重新运行jar包
发现运行成功
在这里插入图片描述

第二种情况

如果有policy 文件夹,说明此版本为JVM启用 无限制强度管辖策略 有了一种新的更简单的方法。

请在 当前文件夹中查找文件 java.security。

现在用文本编辑器打开java.security,并找到定义java安全性属性crypto.policy的行,它可以有两个值limited或unlimited - 默认值是limited。

默认情况下,您应该能找到一条注释掉的行:

#crypto.policy=unlimited
您可以通过取消注释该行来启用无限制,删除#:

crypto.policy=unlimited
现在重新启动指向JVM的Java应用程序即可。

猜你喜欢

转载自blog.csdn.net/weixin_51751186/article/details/126824689