java - 如何在 Java 8 中禁用 TLSv1.2

标签 java security ssl tls1.2 java-security

任何人都知道如何在 JRE 8 中禁用 TLSv1.2 和 1.1 并只允许使用 TLSv1。我已经尝试过 -Djdk.tls.client.protocols="TLSv1"参数但没有运气。当我查看输出的 SSL 调试器时,我可以看到仍在使用 V1.2

00E0: 05 01 04 03 04 01 03 03   03 01 02 03 02 01 02 02  ................
[Raw read]: length = 5
0000: 15 03 01 00 02                                     .....
[Raw read]: length = 2
0000: 02 28                                              .(
AWT-EventQueue-0, READ: TLSv1 Alert, length = 2
AWT-EventQueue-0, RECV **TLSv1.2 ALERT:  fatal, handshake_failure**
AWT-EventQueue-0, called closeSocket()
AWT-EventQueue-0, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
AWT-EventQueue-0, called close()
AWT-EventQueue-0, called closeInternal(true)

最佳答案

使用 SSL Labs 等工具检查服务器与默认 Java 1.7 和 1.8 客户端的模拟握手.您看到的握手错误可能与 TLS 版本无关(因为也支持 TLSv1.0 的 TLSv1.2 客户端应该能够与仅使用 TLSv1.0 进行通信的服务器进行通信)并且很可能是由于服务器使用 Java 1.8 不再支持的密码套件(例如 RC4)。

关于java - 如何在 Java 8 中禁用 TLSv1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36685426/

相关文章:

java - 如何使用 svnClientAdapter java API getLogMessages(java.io.File path, SVNRevision revisionStart, SVNRevision revisionEnd)

VBA密码保护: how it works?安全吗?有其他选择吗?

ssl - 为多个 Kubernetes 节点生成单个证书

session - Nginx 强制 SSL (https) 与 cookie 转发

java - TextView 和 Intent

java - 如何以绝对定位将组件添加到 JComponent 中?

java - 当我运行应用程序时,已排序的 ArrayList 未显示为已排序

javascript - Caja 准备好投入生产了吗?

ios - 如何保护我的 iOS 应用免受 iFunbox 等工具的侵害

php - 为 fabpot/goutte 客户端设置 CURL 参数