1

sslv2 hello メッセージを送信することは可能ですか?? リモート サーバーとの ssl ハンドシェイクを開始しようとすると、デフォルトのバージョンはTLS. サーバーが sslv2 を受け入れるかどうかをテストする必要があるため、Java プログラムに強制的に sslv2 の hello メッセージを送信させる必要があります。これは可能ですか?どのように?これはテストのためだけに必要であることに注意してください。私は実際のJavaアプリケーションを行っていません。

4

2 に答える 2

2

Sun/Oracle Java は SSLv2 をサポートしていません。互換性の目的で、SSLv3 以上とネゴシエートするために SSLv2ClientHelloメッセージをサポートしていましたが、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 に答える