public interface SSLSessionContext
SSLSessionContextは、1つのエンティティに関連付けられている一連のSSLSessionを表します。 たとえば、並行して複数のセッションに参加しているサーバーまたはクライアントを、特定のエンティティに関連付けることができます。
セッション・コンテキストは、一部の環境では使用できません。 たとえば、ステートレス・セッションの再開処理です。
セッション・コンテキストにすべてのセッションが含まれていない場合があります。 たとえば、ステートレス・セッションはセッション・コンテキストに格納されません。
SSLSessionContextパラメータを使用すれば、セッションの格納方法を制御できます。
- 指定された制限時間が経過すると、セッションを無効にすることができる。
- コンテキストに格納できるセッションの数を制限できる。
SSLSessionContext内のセッションIDは一覧表示できます。- 導入されたバージョン:
- 1.4
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明Enumeration<byte[]> getIds()このSSLSessionContextの下でグループ化されたすべての既知のセッションidの列挙を返します。getSession(byte[] sessionId) 指定されたセッションIDにバインドされているSSLSessionを返します。intこのSSLSessionContextの下にグループ化されているSSLSessionオブジェクトを格納するために使用されるキャッシュのサイズを返します。intこのSSLSessionContextの下にグループ化されているSSLSessionオブジェクトのタイム・アウト制限を返します。voidsetSessionCacheSize(int size) このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトを格納するために使用されるキャッシュのサイズを設定します。voidsetSessionTimeout(int seconds) このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトのタイム・アウト制限を設定します。
-
メソッドの詳細
-
getSession
SSLSession getSession(byte[] sessionId) 指定されたセッションIDにバインドされているSSLSessionを返します。- パラメータ:
sessionId- セッション識別子- 戻り値:
SSLSession。指定されたセッションIDが有効なSSLSessionを指していない場合はnull。- スロー:
NullPointerException-sessionIdがnullである場合。
-
getIds
Enumeration<byte[]> getIds()このSSLSessionContextの下でグループ化されたすべての既知のセッションidの列挙を返します。セッション・コンテキストにすべてのセッションが含まれていない場合があります。 たとえば、ステートレス・セッションはセッション・コンテキストに格納されません。
- 戻り値:
- すべてのセッションIDの列挙
-
setSessionTimeout
void setSessionTimeout(int seconds) このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトのタイム・アウト制限を設定します。タイム・アウト制限がt秒に設定されている場合、作成時刻からt秒経過したセッションはタイム・アウト制限を超えます。 セッションのタイム・アウト制限を超えると、
SSLSessionオブジェクトが無効にされ、以降の接続でそのセッションを再開したり、そのセッションにふたたび参加したりすることはできません。SSLSessionContextのタイム・アウト制限を変更すると、タイム・アウトを超えたセッションの確認がただちに行われます。- APIのノート:
- JDK Implementationでは、セッション・キャッシュ・サイズおよびタイムアウトの両方にデフォルト値が使用されることに注意してください。 詳細は、
getSessionCacheSizeおよびgetSessionTimeoutを参照してください。 アプリケーションでは、パフォーマンス要件を考慮し、必要に応じてデフォルトを上書きする必要があります。 - パラメータ:
seconds- 新しいタイム・アウト制限(秒単位)。ゼロは制限なし。- スロー:
IllegalArgumentException- 指定されたタイムアウト制限が0より小さい場合。- 関連項目:
-
getSessionTimeout
int getSessionTimeout()このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトのタイム・アウト制限を返します。タイム・アウト制限がt秒に設定されている場合、作成時刻からt秒経過したセッションはタイム・アウト制限を超えます。 セッションのタイム・アウト制限を超えると、
SSLSessionオブジェクトが無効にされ、以降の接続でそのセッションを再開したり、そのセッションにふたたび参加したりすることはできません。SSLSessionContextのタイム・アウト制限を変更すると、タイム・アウト制限を超えたセッションの確認がただちに行われます。- 実装上のノート:
- JDK実装は、
setSessionTimeoutメソッドによって設定されたセッション・タイムアウトを返します。設定されていない場合は、デフォルト値86400秒(24時間)を返します。 - 戻り値:
- タイム・アウト制限(秒単位)。ゼロは制限なし。
- 関連項目:
-
setSessionCacheSize
void setSessionCacheSize(int size) このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトを格納するために使用されるキャッシュのサイズを設定します。- APIのノート:
- JDK Implementationでは、セッション・キャッシュ・サイズおよびタイムアウトの両方にデフォルト値が使用されることに注意してください。 詳細は、
getSessionCacheSizeおよびgetSessionTimeoutを参照してください。 アプリケーションでは、パフォーマンス要件を考慮し、必要に応じてデフォルトを上書きする必要があります。 - パラメータ:
size- セッション・キャッシュの新しいサイズ制限。ゼロは制限なし。- スロー:
IllegalArgumentException- 指定されたサイズが0より小さい場合。- 関連項目:
-
getSessionCacheSize
int getSessionCacheSize()このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトを格納するために使用されるキャッシュのサイズを返します。- 実装上のノート:
- JDK実装は、
setSessionCacheSizeメソッドによって設定されたキャッシュ・サイズを返します。設定されない場合は、javax.net.ssl.sessionCacheSizeシステム・プロパティの値を返します。 どちらも設定されていない場合、デフォルト値(20480)が返されます。 - 戻り値:
- セッション・キャッシュのサイズ。ゼロは制限なし。
- 関連項目:
-