前言
在使用微信支付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