模块  java.base
软件包  javax.net.ssl

Interface SSLSessionContext


  • public interface SSLSessionContext
    SSLSessionContext表示与单个实体关联的一组SSLSession 例如,它可以与同时参与多个会话的服务器或客户端相关联。

    并非所有环境都包含会话上下文。

    SSLSessionContext参数会影响会话的存储方式:

    • 可以将会话设置为在指定的时间限制后过期。
    • 可以限制可以存储在上下文中的会话数。
    可以根据会话ID检索会话,并且可以列出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,则 SSLSession null。
        异常
        NullPointerException - 如果 sessionId为空。
      • getIds

        Enumeration<byte[]> getIds()
        返回在此 SSLSessionContext下分组的所有会话ID的枚举。
        结果
        所有会话ID的枚举
      • setSessionTimeout

        void setSessionTimeout​(int seconds)
                        throws IllegalArgumentException
        设置在此SSLSessionContext下分组的SSLSession对象的超时限制。

        如果超时限制设置为't'秒,则会话超过创建时间后't'秒的超时限制。 超过会话的超时限制时, SSLSession对象将失效,并且将来的连接无法恢复或重新加入会话。 每当更改此SSLSessionContext的超时限制时,将立即检查超过超时的会话。

        参数
        seconds - 以秒为单位的新会话超时限制; 零意味着没有限制。
        异常
        IllegalArgumentException - 如果指定的超时为 < 0
        另请参见:
        getSessionTimeout()
      • getSessionTimeout

        int getSessionTimeout()
        返回在此SSLSessionContext下分组的SSLSession对象的超时限制。

        如果超时限制设置为't'秒,则会话超过创建时间后't'秒的超时限制。 超过会话的超时限制时, SSLSession对象将失效,并且将来的连接无法恢复或重新加入会话。 每当更改此SSLSessionContext的超时限制时,将立即检查超过超时限制的会话。

        结果
        会话超时限制,以秒为单位; 零意味着没有限制。
        另请参见:
        setSessionTimeout(int)
      • setSessionCacheSize

        void setSessionCacheSize​(int size)
                          throws IllegalArgumentException
        设置用于存储在此 SSLSessionContext下分组的 SSLSession对象的缓存大小。
        参数
        size - 新的会话高速缓存大小限制; 零意味着没有限制。
        异常
        IllegalArgumentException - 如果指定的大小为 < 0
        另请参见:
        getSessionCacheSize()
      • getSessionCacheSize

        int getSessionCacheSize()
        返回用于存储在此 SSLSessionContext下分组的 SSLSession对象的高速缓存大小。
        结果
        会话缓存的大小; 零表示没有大小限制。
        另请参见:
        setSessionCacheSize(int)