是否可以发送 sslv2 hello 消息?当我尝试与远程服务器启动 ssl 握手时,默认版本是TLS
. 我需要测试服务是否接受 sslv2,因此,我需要强制我的 Java 程序发送 sslv2 hello 消息。这可能吗?如何?请注意,我需要这个仅用于测试。我不是在做一个真正的 Java 应用程序。
问问题
3536 次
2 回答
2
Sun/Oracle Java 从未支持 SSLv2。它确实支持 SSLv2ClientHello消息,出于兼容性目的,协商 SSLv3 或更高版本,但我认为在 1.7 中已撤回。IBM Java 曾经支持 SSLv2,但我不能代表当前版本。
于 2012-11-04T07:27:13.877 回答
1
不支持 SSLV2,如果您需要强制SSLv2Hello
消息,您可以设置系统属性:
System.setProperty("https.protocols", "SSLv3,SSLv2Hello");
或者您可以直接管理您的套接字:
SSLContext context = SSLContext.getInstance("TLSv1");
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sock = (SSLSocket) sslsocketfactory.createSocket("hostserver", 443);
String[] protocols = {"SSLv2Hello", "SSLv3", "TLSv1"};
于 2013-02-28T16:18:30.947 回答