1

是否可以发送 sslv2 hello 消息?当我尝试与远程服务器启动 ssl 握手时,默认版本是TLS. 我需要测试服务是否接受 sslv2,因此,我需要强制我的 Java 程序发送 sslv2 hello 消息。这可能吗?如何?请注意,我需要这个仅用于测试。我不是在做一个真正的 Java 应用程序。

4

2 回答 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 回答