Added in API level 1

SSLSessionContext

public interface SSLSessionContext

javax.net.ssl.SSLSessionContext


A SSLSessionContext represents a set of SSLSessions associated with a single entity. For example, it could be associated with a server or client who participates in many sessions concurrently.

Not all environments will contain session contexts.

There are SSLSessionContext parameters that affect how sessions are stored:

  • Sessions can be set to expire after a specified time limit.
  • The number of sessions that can be stored in context can be limited.
A session can be retrieved based on its session id, and all session id's in a SSLSessionContext can be listed.

See also:

Summary

Public methods

abstract Enumeration<byte[]> getIds()

Returns an Enumeration of all session id's grouped under this SSLSessionContext.

abstract SSLSession getSession(byte[] sessionId)

Returns the SSLSession bound to the specified session id.

abstract int getSessionCacheSize()

Returns the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.

abstract int getSessionTimeout()

Returns the timeout limit of SSLSession objects grouped under this SSLSessionContext.

abstract void setSessionCacheSize(int size)

Sets the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.

abstract void setSessionTimeout(int seconds)

Sets the timeout limit for SSLSession objects grouped under this SSLSessionContext.

Public methods

getIds

Added in API level 1
public abstract Enumeration<byte[]> getIds ()

Returns an Enumeration of all session id's grouped under this SSLSessionContext.

Returns
Enumeration<byte[]> an enumeration of all the Session id's

getSession

Added in API level 1
public abstract SSLSession getSession (byte[] sessionId)

Returns the SSLSession bound to the specified session id.

Parameters
sessionId byte: the Session identifier

Returns
SSLSession the SSLSession or null if the specified session id does not refer to a valid SSLSession.

Throws
NullPointerException if sessionId is null.

getSessionCacheSize

Added in API level 1
public abstract int getSessionCacheSize ()

Returns the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.

Implementation Note:
  • The JDK implementation returns the cache size as set by the setSessionCacheSize method, or if not set, the value of the javax.net.ssl.sessionCacheSize system property. If neither is set, it returns a default value of 20480.
Returns
int size of the session cache; zero means there is no size limit.

getSessionTimeout

Added in API level 1
public abstract int getSessionTimeout ()

Returns the timeout limit of SSLSession objects grouped under this SSLSessionContext.

If the timeout limit is set to 't' seconds, a session exceeds the timeout limit 't' seconds after its creation time. When the timeout limit is exceeded for a session, the SSLSession object is invalidated and future connections cannot resume or rejoin the session. A check for sessions exceeding the timeout limit is made immediately whenever the timeout limit is changed for this SSLSessionContext.

Implementation Note:
  • The JDK implementation returns the session timeout as set by the setSessionTimeout method, or if not set, a default value of 86400 seconds (24 hours).
Returns
int the session timeout limit in seconds; zero means there is no limit.

setSessionCacheSize

Added in API level 1
public abstract void setSessionCacheSize (int size)

Sets the size of the cache used for storing SSLSession objects grouped under this SSLSessionContext.

API Note:
  • Note that the JDK Implementation uses default values for both the session cache size and timeout. See getSessionCacheSize and getSessionTimeout for more information. Applications should consider their performance requirements and override the defaults if necessary.
Parameters
size int: the new session cache size limit; zero means there is no limit.

Throws
IllegalArgumentException if the specified size is < 0.

setSessionTimeout

Added in API level 1
public abstract void setSessionTimeout (int seconds)

Sets the timeout limit for SSLSession objects grouped under this SSLSessionContext.

If the timeout limit is set to 't' seconds, a session exceeds the timeout limit 't' seconds after its creation time. When the timeout limit is exceeded for a session, the SSLSession object is invalidated and future connections cannot resume or rejoin the session. A check for sessions exceeding the timeout is made immediately whenever the timeout limit is changed for this SSLSessionContext.

API Note:
  • Note that the JDK Implementation uses default values for both the session cache size and timeout. See getSessionCacheSize and getSessionTimeout for more information. Applications should consider their performance requirements and override the defaults if necessary.
Parameters
seconds int: the new session timeout limit in seconds; zero means there is no limit.

Throws
IllegalArgumentException if the timeout specified is < 0.