一、报错信息

java.security.InvalidKeyException: Illegal key size or default parameters

二、错误中文翻译

java安全无效密钥异常:非法密钥大小或默认参数

三、错误解释

Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境是受限于policy文件。
文件位于${java_home}/jre/lib/security下,这种限制是因为美国对软件出口的控制。

四、为什么报错

因为美国的进口管制限制,Java发布的运行环境包中的加解密有一定的限制,默认不允许256位密钥的AES加解密

五、解决办法

就是修改策略文件,更改成官网提供的JCE无限制权限策略文件。


JDK6的下载地址:

https://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
文件名叫:jce_policy-6.zip


JDK7的下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
文件名叫:UnlimitedJCEPolicyJDK7.zip


JDK8的下载地址:
(这里注意一下JDK8的这个包只适用于Java 1.8.0_151以前的Java 1.8版本,Java 1.8.0_151以后的版本包括Java 1.8.0_151的往后看)
https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
文件名叫:jce_policy-8.zip


下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt,
替换${java_home}/jre/lib/security/ 下面的local_policy.jar和US_export_policy.jar即可

六、JDK1.8.0_151及其以后的版本怎么解决

JDK1.8.0_151及其以后的版本无需去官网下载 local_policy.jar和US_export_policy.jar这两个jar包,只需要修改${java_home}/jre/lib/security/ 这目录下的java.security文件配置即可.
具体过程和说明如下:
1、说明
从Java 1.8.0_151版本开始,java公司为JVM启用无限制强度管辖策略,有了一种新的更简单的方法。如果不启用此功能,则不能使用AES-256,启用起来也非常方便。
2、看图

看图后说明:你会发现${java_home}/jre/lib/security/没有了上文提到的local_policy.jar和US_export_policy.jar两个文件,而多了一个policy文件夹,而它的下面还有两个文件夹,在其子文件下面分别都有local_policy.jar和US_export_policy.jar两个文件。而它的两个子文件夹的含义就是limited(有限制)和unlimited(无限制),这下我相信你应该明白了。没错,我们直接启动unlimited(无限制)即可。
3、启动unlimited(无限制)
把java.security文件的第826行的注释去掉即可,如下图所示:

4、重启java项目即可。

转载于:https://blog.51cto.com/zpf666/2341494

java密钥长度受限制问题解决相关推荐

  1. 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决

    原标题:Java程序的编写与执行.Java新手常见的问题解决 今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. HelloWorld的编写 ...

  2. Windows Server 2008 R2 SP1 安装NET FrameWork 4.0 受阻滞问题解决办法。

    Windows Server 2008 R2 SP1 安装NET FrameWork 4.0 受阻滞问题解决办法. 参考文章: (1)Windows Server 2008 R2 SP1 安装NET ...

  3. https Java SSLException protocol_version的问题解决方法

    https Java SSLException protocol_version的问题解决方法 参考文章: (1)https Java SSLException protocol_version的问题 ...

  4. java: command not found_/bin/bash: java: command not found 问题解决

    /bin/bash: java: command not found 问题解决 在编译android环境时,java -version 命令明明能够正确表示java已经安装成功,环境设置正确.但是,在 ...

  5. 近7成开发者无开源收入、最想操作系统开源、Java最受欢迎 | 揭晓中国开源开发者现状...

    作者 | 何苗       责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 2021年是中国开源发展的一座里程碑. 这一年,开源被写进十四五规划,被国人熟知.80~90%企业业务都已构建 ...

  6. vue中axios访问Java后端跨域问题解决

    vue中axios访问Java后端跨域问题解决 参考文章: (1)vue中axios访问Java后端跨域问题解决 (2)https://www.cnblogs.com/soinve/p/9295009 ...

  7. Build path entry is missing: /src/test/java missing 报错问题解决

    Build path entry is missing: /src/test/java missing 报错问题解决 参考文章: (1)Build path entry is missing: /sr ...

  8. 近7成开发者无开源收入、最想操作系统开源、Java最受欢迎 | 揭晓中国开源开发者现状

    作者 | 何苗 2021年是中国开源发展的一座里程碑. 这一年,开源被写进十四五规划,被国人熟知.80~90%企业业务都已构建在开源软件.开源项目之上.关于开源的影响力,以数字量化的形式呈现在世人面前 ...

  9. 远程可视化控制ubuntu桌面;ubuntu安装搜狗输入法;google浏览器代理访问不了系统不受支持问题解决

    1.远程可视化控制ubuntu桌面 远程ubuntu系统会因为不同桌面导致链接黑屏或灰屏:如果ubuntu系统是自带的GDM(gnome)做梦系统,那就灰远程连接不能可视化 参考:https://ww ...

最新文章

  1. linux chown命令 改变文件拥有者
  2. powerdesigner使用之——从“概念模型”到“物理模型”
  3. cisco数据中心理论小记-3
  4. 中countif函数_countif与countifs:单条件与多条件计数适用场景
  5. 聚类算法当中的K-means算法如何去做天猫淘宝的推广任务
  6. NoSQL最新现状和趋势:云NoSQL数据库将成重要增长引擎
  7. 关于Etcd的几个问题
  8. l360清零软件无响应_张店楼顶商业广告全面“清零”!城市“天际线”颜值再刷新...
  9. finder怎么才能找到library
  10. bzoj 1228 [SDOI2009]ED
  11. java隐式参数的作用_隐式参数_scala教程_田守枝Java技术博客
  12. switchHosts下载
  13. AMEsim柱塞泵的建模学习
  14. 单片机音乐倒数计时器c语言,音乐倒数计时器单片机课程设计报告.doc
  15. echarts关系图vue完整代码
  16. 微信朋友验证消息是什么来源_微信开启朋友验证什么意思
  17. DAY8:尚学堂高琪JAVA(70~76)
  18. QT常用函数总结(全)
  19. Java数据类型之Java数据类型的划分方式
  20. 带团队,不要轻易放弃任何一个队友

热门文章

  1. 为迎接祖国60华诞,更换博客页面了!!!
  2. 「雅礼集训 2018 Day2」农民
  3. 返回固定数据的web服务器
  4. 论PHP框架设计模式及MVC的缺陷
  5. JBoss企业级应用服务平台群集指南(一)
  6. Centos 7上启动 vsftp报错处理
  7. ThinkPHP RBAC官网的例子详解
  8. 大型网络之---公司内部局域网
  9. hadoopshpython_让python在hadoop上跑起来
  10. JavaScript知识点之“事件机制”