企业微信接口回调异常java.security.InvalidKeyException: Illegal key size 的解决方法(已解决)

本文讲述了在集成企微API时遇到的关于32位长密钥解密错误,由于JDK版本安全限制,密钥超过128位会抛出异常。解决方案是下载并替换JDK的限制文件,包括local_policy.jar和US_export_policy.jar。
摘要由CSDN通过智能技术生成

​背景:在集成企微API时回调接口需要使用32位长(258bit)密钥解密服务器回传的加密信息,在代码执行至cipher.init(2, keySpec, iv)时报java.security.InvalidKeyException: Illegal key size错误。

原因:JDK受版本安全限制,默认只允许128位长度以内的。秘钥长度,如果密钥大于128, 会抛出java.security.InvalidKeyException: Illegal key size 异常.  java运行时环境默认读到的是受限的policy文件. 文件位于${java_home}/jre/lib/security, 这种限制是因为美国对软件出口的控制所造成的的.JDK1.8之后已经兼容了该问题
解决方案:
替换JDK受限文件级配置:

1、下载文件:JCE Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8 Download 
2、查看系统nginx的安装位置:vim /etc/profile
3、将下载文件(local_policy.jar和US_export_policy.jar)存储到地址:
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

注:其他解决方案请参考:JDK的AES加密异常java.security.InvalidKeyException: Illegal key size 的解决方法(已解决)-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值