微信退款回调 验证签名时报错
java.security.InvalidKeyException: Illegal key size or default parameters
❌原因:为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有进行什么特殊处理;然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,可能会因为jdk版本的问题出现这个异常java.security.InvalidKeyException: Illegal key size。
解决方案:
JDK首先进入
%JAVE_HOME%/jre/lib/security/
目录,看下目录里面是有一个 policy
文件夹,
如果有policy 文件夹,说明此版本为JVM启用 无限制强度管辖策略 有了一种新的更简单的方法。
请在 当前文件夹中查找文件 java.security。
现在用文本编辑器打开java.security,并找到定义java安全性属性crypto.policy的行,它可以有两个值limited或unlimited – 默认值是limited。
默认情况下,您应该能找到一条注释掉的行:
#crypto.policy=unlimited
去掉#号,修改为
我本地是没有policy文件夹的,解决方案是替换jar
- 异常java.security.InvalidKeyException:illegal Key Size的解决方案:在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download ):下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
参考链接
加解密库下载与返回码 – 接口文档 – 企业微信开发者中心
java.security.InvalidKeyException: Illegal key size错误_伫望-向北的博客-CSDN博客
文章出处登录后可见!
已经登录?立即刷新