Java 企业微信开发踩坑 报错:java.security.InvalidKeyException: Illegal key size

异常解读:

    不合法的密钥长度。原因是jdk安装时自带的JCE策略文件时受限的, 需要将其替换为 JCE无限制权限策略文件。

背景:

   由于美国政策的原因,强加密技术是不允许出口给某些国家,所以sun只能在jdk里面实现一些加密,甚至加密强度比较弱,比如AES的密钥只允许128位,为了解锁限制只能下载其他的实现类去替换jdk默认的security provider    (源自:https://www.oschina.net/question/1268304_2158131  里的回答)

解决方法:

(1)下载策略文件

  官网下载路径:

JDK6的JCE文件:https://www.oracle.com/java/technologies/jce-6-download.html

JDK7的JCE文件:https://www.oracle.com/java/technologies/javase-jce7-downloads.html

JDK8的JCE文件:https://www.oracle.com/java/technologies/javase-jce8-downloads.html

链接:https://pan.baidu.com/s/1G7SeIqVcm5Ld6riaAMcTbQ
提取码:cgi2
(https://www.cnblogs.com/coldc/p/14206480.html)

   根据JDK版本,下载相应版本的JCE无限制权限策略文件,下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。

(2)替换掉受限的策略文件

     如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件;

     如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/aiwech/article/details/114325828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值