3

Java アプレットを使用して wss (Secure Websocket) サーバーに接続しようとしましたが、ssl ハンドシェークが失敗し、有用なログ エントリがありません。

wss://echo.websocket.org に接続すると、ハンドシェイクは正常に機能するため、一般的な Java コード エラーではないと思います。

自分のサーバーに接続しようとすると、HelloDone ビットが送信されます (wireshark によって検証されます) が、接続はハングアップして終了し、ログには記録されません。通常、ログには次のメッセージが表示されます: " *** ServerHelloDone "

「 javax.net.debug=sll」 の Java コンソール ログを参照してくださいhttp://pastebin.com/ZuvKww4J 切り詰められていません。数秒後、tcp 接続タイムアウト メッセージがログに追加されます。

次の Java コードの例を使用します: https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/SSLClientExample.java

しかし、私が使用するキーストアの代わりに:

sslContext.init( null, null, null );

サーバーには、2 つの異なるテスト システムがあります。

  1. ポート 443 で ha-proxy
  2. ポート 8443 で stunnel。

さまざまな方法でエラーを特定しようとしました。最初に、stunnel で echo.websocket.org "SSL_RSA_WITH_RC4_128_SHA" と同じ暗号を強制しましたが、成功しませんでした。

次に、ssl 証明書自体がまだ有効かどうかを確認しました。しかし、私のJavaアプレットによるWebブラウザと通常のhttps接続は、サーバー(同じサーバー。ha-proxyまたはstunnel)から受け入れられるため、その時点ですべてが機能しています。

4

1 に答える 1

0

この問題は、Java-WebSocket のメンテナによって解決されました。ビッグサンズ

于 2013-04-22T14:13:24.253 に答える