前言
在使用微信支付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
- InvalidKeyException security Illegal 问题 javainvalidkeyexception security illegal问题 invalidkeyexception security illegal java invalidkeyexception java security illegal invalidkeyexception security illegal方法 invalidkeyexception security java collations operation illegal问题 multibyte sequence illegal问题 certpathvalidatorexception security java cert java security镜像 邮件 messagedigest 20230711 security java