Интерфейс SSLSessionContext

public interface SSLSessionContext

Объект SSLSessionContext представляет набор SSLSession , связанных с одним объектом. Например, он может быть связан с сервером или клиентом, участвующим во множестве сессий одновременно.

Не все среды содержат контексты сессий.

Существуют SSLSessionContext параметра, влияющие на то, как хранятся сессии:

  • Сессии могут быть настроены на истечение срока действия по истечении заданного лимита времени.
  • Количество сессий, которые могут быть сохранены в контексте, может быть ограничено.
Сессию можно получить по ее идентификатору, а все идентификаторы сессий в SSLSessionContext можно перечислить.
Since:
1.4
См. также:
SSLSession

Методы

Модификатор и тип Метод Описание
Enumeration<byte[]> getIds()

Возвращает перечисление всех идентификаторов сессий, сгруппированных в этом SSLSessionContext.

SSLSession getSession​(byte[] sessionId)

Возвращает SSLSession, связанный с указанным идентификатором сессии.

int getSessionCacheSize()

Возвращает размер кэша, используемого для хранения SSLSession объектов, сгруппированных в этом SSLSessionContext.

int getSessionTimeout()

Возвращает лимит времени ожидания SSLSession объектов, сгруппированных в этом SSLSessionContext.

void setSessionCacheSize​(int size)

Устанавливает размер кэша, используемого для хранения SSLSession объектов, сгруппированных в этом SSLSessionContext.

void setSessionTimeout​(int seconds)

Устанавливает лимит времени ожидания для SSLSession объектов, сгруппированных в этом SSLSessionContext.

Методы

getSession

SSLSession getSession(byte[] sessionId)

Возвращает SSLSession, связанный с указанным идентификатором сессии.

Параметры:
sessionId - идентификатор сессии
Возвращает:
объект SSLSession или null, если указанный идентификатор сессии не относится к действительной SSLSession.
Исключения:
NullPointerException - если sessionId равно null.

getIds

Enumeration<byte[]> getIds()

Возвращает перечисление всех идентификаторов сессий, сгруппированных в этом SSLSessionContext.

Возвращает:
перечисление всех идентификаторов сессий

setSessionTimeout

void setSessionTimeout(int seconds)
                throws IllegalArgumentException

Устанавливает лимит времени ожидания для SSLSession объектов, сгруппированных в этом SSLSessionContext.

Если лимит времени ожидания установлен в 't' секунд, сессия превышает лимит времени ожидания 't' секунд после ее создания. Когда лимит времени ожидания превышен для сессии, объект SSLSession становится недействительным, и будущие подключения не могут возобновить или присоединиться к сессии. Проверка сессий, превышающих лимит времени ожидания, выполняется сразу же при каждом изменении лимита времени ожидания для этого SSLSessionContext.

Примечание API:
Обратите внимание, что реализация JDK использует значения по умолчанию как для размера кэша сессий, так и для времени ожидания. См. getSessionCacheSize и getSessionTimeout для получения дополнительной информации. Приложения должны учитывать свои потребности в производительности и переопределять значения по умолчанию, если необходимо.
Параметры:
seconds - новый лимит времени ожидания сессии в секундах; ноль означает отсутствие ограничения.
Исключения:
IllegalArgumentException - если указанное время ожидания < 0.
См. также:
getSessionTimeout()

getSessionTimeout

int getSessionTimeout()

Возвращает лимит времени ожидания SSLSession объектов, сгруппированных в этом SSLSessionContext.

Если лимит времени ожидания установлен в 't' секунд, сессия превышает лимит времени ожидания 't' секунд после ее создания. Когда лимит времени ожидания превышен для сессии, объект SSLSession становится недействительным, и будущие подключения не могут возобновить или присоединиться к сессии. Проверка сессий, превышающих лимит времени ожидания, выполняется сразу же при каждом изменении лимита времени ожидания для этого SSLSessionContext.

Примечание реализации:
Реализация JDK возвращает время ожидания сессии, установленное методом setSessionTimeout или, если не установлено, значение по умолчанию 86400 секунд (24 часа).
Возвращает:
лимит времени ожидания сессии в секундах; ноль означает отсутствие ограничения.
См. также:
setSessionTimeout(int)

setSessionCacheSize

void setSessionCacheSize(int size)
                  throws IllegalArgumentException

Устанавливает размер кэша, используемого для хранения SSLSession объектов, сгруппированных в этом SSLSessionContext.

Примечание API:
Обратите внимание, что реализация JDK использует значения по умолчанию как для размера кэша сессий, так и для времени ожидания. См. getSessionCacheSize и getSessionTimeout для получения дополнительной информации. Приложения должны учитывать свои потребности в производительности и переопределять значения по умолчанию, если необходимо.
Параметры:
size - новый лимит размера кэша сессий; ноль означает отсутствие ограничения.
Исключения:
IllegalArgumentException - если указанный размер < 0.
См. также:
getSessionCacheSize()

getSessionCacheSize

int getSessionCacheSize()

Возвращает размер кэша, используемого для хранения SSLSession объектов, сгруппированных в этом SSLSessionContext.

Примечание реализации:
Реализация JDK возвращает размер кэша, установленный методом setSessionCacheSize или, если не установлено, значение системной переменной. Если ни то ни другое не установлено, возвращается значение по умолчанию 20480.
Возвращает:
размер кэша сессий; ноль означает отсутствие ограничения по размеру.
См. также:
setSessionCacheSize(int)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/ssl/SSLSessionContext.html

Spec-Zone .ru
спецификации, руководства, описания, API