インタフェースSSLSessionContext


public interface SSLSessionContext
SSLSessionContextは、1つのエンティティに関連付けられている一連のSSLSessionを表します。 たとえば、並行して複数のセッションに参 しているサーバーまたはクライアントを、特定のエンティティに関連付けることができます。

セッション・コンテキストは、一部の環境では使用できません。 たとえば、ステートレス・セッションの再開処理です。

セッション・コンテキストにすべてのセッションが含まれていない 合があります。 たとえば、ステートレス・セッションはセッション・コンテキストに 納されません。

SSLSessionContextパラメータを使用すれば、セッションの 納方法を制御できます。

  • 指定された制限時間が経過すると、セッションを無効にすることができる。
  • コンテキストに 納できるセッションの数を制限できる。
セッションは、セッションIDに基づいて取り出すことができます。SSLSessionContext内のセッションIDは一覧表示できます。

導入されたバージョン:
1.4
関連 目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    Enumeration<byte[]>
    このSSLSessionContextの下でグループ化されたすべての既知のセッションidの列挙を返します。
    getSession(byte[] sessionId)
    指定されたセッションIDにバインドされているSSLSessionを返します。
    int
    このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトを 納するために使用されるキャッシュのサイズを返します。
    int
    このSSLSessionContextの下にグループ化されているSSLSessionオブジェクトのタイ ・アウト制限を返します。
    void
    この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)
      この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)が返されます。
      戻り値:
      セッション・キャッシュのサイズ。ゼロは制限なし。
      関連 目: