Java 安全性和加密
重新启用 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)。