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

发布时间 2023-10-12 11:26:22作者: kaka945

前言
在使用微信支付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应用程序即可。
————————————————
原文链接:https://blog.csdn.net/weixin_51751186/article/details/126824689