Package 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

All Methods Instance Methods Concrete Methods
`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.