重新启用 TLSv1 和 TLSv1.1

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

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

  • 在 JDK 的安装目录中,导航到文件夹 ./conf/security/
  • 打开文件 java.security
  • 搜索配置属性 jdk.tls.disabledAlgorithms
  • 删除元素 TLSv1 和/或 TLSv1.1
  • 重新启动 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 )。