org.apache.tomcat.util.net.openssl

## Class OpenSSLSessionContext

- java.lang.Object
- - org.apache.tomcat.util.net.openssl.OpenSSLSessionContext

- All Implemented Interfaces:
    SSLSessionContext

      public class OpenSSLSessionContext
      extends Object
      implements SSLSessionContext

  OpenSSL specific `SSLSessionContext` implementation.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Enumeration<byte[]>` | `getIds()`
    `SSLSession` | `getSession(byte[] bytes)`
    `int` | `getSessionCacheSize()`
    `int` | `getSessionTimeout()`
    `boolean` | `isSessionCacheEnabled()`
    `void` | `setSessionCacheEnabled(boolean enabled)` Enable or disable caching of SSL sessions.
    `void` | `setSessionCacheSize(int size)`
    `boolean` | `setSessionIdContext(byte[] sidCtx)` Set the context within which session be reused (server side only) See man SSL_CTX_set_session_id_context
    `void` | `setSessionTimeout(int seconds)`
    `void` | `setTicketKeys(byte[] keys)` Sets the SSL session ticket keys of this context.
    `OpenSSLSessionStats` | `stats()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getSession

          public SSLSession getSession(byte[] bytes)

      Specified by:
        `getSession` in interface `SSLSessionContext`

    - #### getIds

          public Enumeration<byte[]> getIds()

      Specified by:
        `getIds` in interface `SSLSessionContext`

    - #### setTicketKeys

          public void setTicketKeys(byte[] keys)

      Sets the SSL session ticket keys of this context.
      Parameters:
        `keys` - The session ticket keys

    - #### setSessionCacheEnabled

          public void setSessionCacheEnabled(boolean enabled)

      Enable or disable caching of SSL sessions.
      Parameters:
        `enabled` - `true` to enable caching, `false` to disable

    - #### isSessionCacheEnabled

          public boolean isSessionCacheEnabled()

      Returns:
        `true` if caching of SSL sessions is enabled, `false` otherwise.

    - #### stats

          public OpenSSLSessionStats stats()

      Returns:
        The statistics for this context.

    - #### setSessionTimeout

          public void setSessionTimeout(int seconds)

      Specified by:
        `setSessionTimeout` in interface `SSLSessionContext`

    - #### getSessionTimeout

          public int getSessionTimeout()

      Specified by:
        `getSessionTimeout` in interface `SSLSessionContext`

    - #### setSessionCacheSize

          public void setSessionCacheSize(int size)

      Specified by:
        `setSessionCacheSize` in interface `SSLSessionContext`

    - #### getSessionCacheSize

          public int getSessionCacheSize()

      Specified by:
        `getSessionCacheSize` in interface `SSLSessionContext`

    - #### setSessionIdContext

          public boolean setSessionIdContext(byte[] sidCtx)

      Set the context within which session be reused (server side only) See man SSL_CTX_set_session_id_context
      Parameters:
        `sidCtx` - can be any kind of binary data, it is therefore possible to use e.g. the name of the application and/or the hostname and/or service name
      Returns:
        `true` if success, `false` otherwise.

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.