JDK1.8.0_181的无限制强度加密策略文件变动
原文地址
https://my.oschina.net/my1313677/blog/3109613
作者 葉者
日常记录
2019/09/23 14:23
阅读数 817
JDK1.8.0_151后的版本无需去官网下载 local_policy.jar US_export_policy.jar这个jar包,只需要修改Java\jdk1.8.0_181\jre\lib\security这目录下的java.security文件配置即可。
随着越来越多的第三方工具只支持 JDK8,在环境升级过程中,发现某些项目报以下异常:
java.security.InvalidKeyException: Illegal key size
这是因为某些国家的进口管制限制,JDK默认的加解密有一定的限制。
比如默认不允许 256 位密钥的 AES 加解密,解决方法就下载官方JCE无限制强度加密策略文件,覆盖即可。
但是 1.8.0_181 版本中 $JAVA_HOME/jre/lib/security/ 目录下面多了一个 policy 文件夹,里面还有两个文件夹
├── limited
│ ├── local_policy.jar
│ └── US_export_policy.jar
└── unlimited
├── local_policy.jar
└── US_export_policy.jar
于是搜了一下,发现了这篇文章:Java Unlimited Strength Crypto Policy for Java 9 or 1.8.0_151,以下内容为该文章的翻译。
从Java 1.8.0_151和1.8.0_152开始,为JVM启用 无限制强度管辖策略 有了一种新的更简单的方法。如果不启用此功能,则不能使用AES-256。
请在 jre/lib/security 文件夹中查找文件 java.security。
例如,对于Java 1.8.0_181,文件结构如下所示:
/jdk1.8.0_181
|- /jre
|- /lib
|- /security
|- java.security
现在用文本编辑器打开java.security,并找到定义java安全性属性crypto.policy的行,它可以有两个值limited或unlimited - 默认值是limited。
默认情况下,您应该能找到一条注释掉的行:
#crypto.policy=unlimited
您可以通过取消注释该行来启用无限制,删除#:
crypto.policy=unlimited
现在重新启动指向JVM的Java应用程序即可。
本文来自博客园,作者:不安分的黑娃,转载请注明原文链接:https://www.cnblogs.com/lihw-study/p/15752222.html