适用于 JDK 9 的 JCE 压缩文件

2022-09-03 04:49:16

我想尝试 JDK 9,我需要 JCE 补丁。我在哪里可以得到?或者我可以使用JDK 8的那个吗?我搜索了JDK 9的JCE zip,但无法找到它。提前致谢。JCE zip file for JDK 9


答案 1

更新:强加密现在已为所有当前版本的 Java 6 - 9 开箱即用。有关详细信息,请参阅: https://stackoverflow.com/a/39889731/3392724


我假设“JCE zip文件”是指“Java加密扩展(JCE)无限强度管辖权策略文件”。

显然,在Java 9中,您不再需要zip,请参阅:http://mail.openjdk.java.net/pipermail/security-dev/2016-October/014943.html

添加'Security.setProperty(“crypto.policy”,“unlimited”);'或编辑java.security配置文件将启用无限强度。

其他详细信息:

使用代码设置属性的示例:

import javax.crypto.Cipher;
import java.security.Security;

class Test {
  public static void main(String[] args) {
    Security.setProperty("crypto.policy", "unlimited");
    try {
      System.out.println("Hello World!");
      int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES/CBC/PKCS5Padding");
      System.out.println(maxKeyLen);
    } catch (Exception e){
      System.out.println("Sad world :(");
    }
  }
}

结果:

Hello World!
2147483647
Press any key to continue . . .

java -version:

Java(TM) SE Runtime Environment (build 9-ea+138)
Java HotSpot(TM) Server VM (build 9-ea+138, mixed mode)


或者,编辑 JRE 安装文件夹中的 java.security 配置文件:

  • 在你首选的文本编辑器中打开<jre9-home>/conf/security/java.security
  • 搜索行“crypto.policy=limited”
  • 将其更改为“crypto.policy=unlimited”

答案 2

推荐