2011-01-17 14 views
0


私はブラウザでアプレットを読み込んでいます。
このアプレットは、Webサービスをサーバーに呼び出します。
アプレットに署名し、サーバーからhttps経由でダウンロードする場合、Webサービスコールを行うと、既存のSSLセッションを再利用できるか、httpsを再確立する必要がありますか?
初期接続がブラウザによって行われてから、https(つまりSSLハンドシェイク)を再確立する必要があると思います。これは本当ですか?
「はい」の場合は、ユーザーがアプレットの使用を開始したときに再認証を回避する手段がありますか?私。以前のSSL接続を再利用するか、それは不可能ですか? Webサービススタックは、axis2です。アプレットによるJava Webサービスコール

ありがとうございました

答えて

2

httpsと認証が異なります。もちろん、あなたはhttpsでユーザー/パスワードを使って認証するときに一緒に働いています。

クライアントの認証が有効な場合、認証にhttpsを使用できます。したがって、クライアントは有効な(署名付きの)証明書をサーバーに送信する必要があります。しかし、私はあなたがhttpsの認証方法を介してユーザー/パスワードを持っていることを奨励します。

ブラウザがログインすると、通常、サーバーはセッションを作成して保持し、ブラウザはセッションCookieを受信します。そのCookieは、ログイン後も連続したリクエストで送信されます(まだhttpsで暗号化されています)。

セッションクッキーをアプレットに渡すと、アプレットはセッションを再利用できます。

更新

詳細にあなたにこれを説明することは不可能

。検索して、Java Applet communicationを読んでください。

  • あなたは JavaScriptからアプレットのメソッドを呼び出すと、アプレット(Applet.getAppletContext())からウェブ ページ/ブラウザ状態にアクセスすることができます。

  • セッション idを含む パラメータを使用してアプレットを呼び出すことができます。

Webサーバーがサーブレットコンテナである場合、セッションクッキー名はJSESSIONIDです。

Webサーバーがサーブレットコンテナの場合は、要求ヘッダーのCookieとして、またはURL(URL書き換え)にコード化された別の方法でセッションIDを渡すことができます。

+0

興味深いのですが、私はそのセッションのクッキーをブラウザから取得できますか?また、私は使用しているWebサービススタックにそのセッションのクッキーを送信してサーバーに戻す方法はありますか?あなたはこれを行う方法を詳しく教えてください? – Cratylus

+0

私はあなたが何を意味するのか理解していると思います。しかしJSESSIONIDは実際にSSLでサーバーによって使用されていますか? – Cratylus

+0

セッションCookie JSESSIONIDの名前は、Javaサーブレット仕様に基づいています(サーブレットでセッションを作成すると、サーバーレスポンスにJSESSIONIDという名前のセッションCookieが含まれます)。 SSLとはまったく関係ありません。 http://stackoverflow.com/questions/595872/under-what-c​​onditions-is-a-jsessionid-created – PeterMmm

関連する問題