Java 安全性和加密

重新启用 TLSv1 和 TLSv1.1

某些旧系统可能仍与较旧的、不安全的 TLSv1 和 TLSv1.1 协议相关联。 从 OpenJDK 11.0.11 开始,默认禁用这些协议版本。

若要重新启用,用户必须执行以下步骤:

  1. 在 JDK 的安装目录中,导航到文件夹 ./conf/security/
  2. 打开文件 java.security
  3. 搜索配置属性 jdk.tls.disabledAlgorithms
  4. 删除元素 TLSv1 和/或 TLSv1.1
  5. 重新启动 Java 应用程序

用于 JCA 和加密的 JCE 提供程序

javax.net.ssl.SSLHandshakeException: 收到严重警报: handshake_failure

需要建立安全连接的应用程序(例如 HTTPS、SFTP 等)必须在具有 Java Cryptography Architecture (JCA) 的兼容安全提供程序的 Java 运行时上运行。 OpenJDK 项目在 jdk.crypto.ec 中包含一个默认的实现提供程序 - Java Cryptography Extension (JCE)。

如果应用程序需要建立安全连接,请确保 jdk.crypto.ec 模块包含在汇编的 Java 运行时中,或者包含第三方提供程序(例如 BouncyCastle)。