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