2011-01-07 34 views
2

私はiOS、Javaデスクトップ、AndroidでSSLセッションの再利用を試みています。 iOSはSSLセッションを再利用しようとしているように見えますが(すべてではありません) Javaは、SSLEngineの作成時にホスト名/ポートを渡す限り、常にセッションを再利用するように見えます。AndroidでのSSLセッション再利用の問題(J2SEは正常に動作します)

私がAndroidに接続すると、いくつか問題があります。私がJava SSLセッションの再利用をテストするために使用したコード(Froyo上では、接続を作成し、いくつかのメッセージを送信し、接続を切断して1秒待つ、繰り返し)は、Gingerbreadエミュレータで動作しましたが、セッションを再利用する。

その後、Androidコードを少し深く見て、AndroidHttpClientで使用されるSSLSessionCache/SSLCertificateSocketFactoryを使用してSSLセッションを保存する別の方法があることがわかりました。だから私はAndroidHttpClientを使用して複数の接続を介してApacheサーバ(SSLセッションの再利用をサポートしていることがわかっています)を使用するテストを設定し、FroyoまたはGingerbreadでセッションを再利用しませんでした。

誰かがこれを取得して、サンプルのAndroidクライアントコードを表示できたら、私は大歓迎です。私はAndroid用のバグレポートを作成することを検討していますが、私はここで明らかなものを見逃していないことを確認したいだけです。

+0

あなたが特定するためにWiresharkの(または同等)で盗聴されていますが、あなたはどちら側を知っていますセッションの再利用を拒否していますか? –

+0

私はwiresharkを使ってセッションの再利用を確認しています。アンドロイドクライアントは、クライアントハンドシェイク(J2SEおよびiOSクライアントによって設定されていることがわかります)でセッションIDを設定していないため、SSLセッションを再利用することはできません。 – Gareth

+0

私はAndroid WebViewで同じ問題に直面しています。それはほぼ5秒間SSLセッションを維持します。サーバー側では、ssl_session_timeoutを10分に設定しました。あなたはこれを回避する方法を見つけましたか? – Enigma

答えて

関連する問題