Интерфейс SSLSessionContext
public interface SSLSessionContext
SSLSessionContext представляет набор SSLSession, связанных с одним субъектом. Например, он может быть связан с сервером или клиентом, которые участвуют во многих сессиях одновременно. Не все среды содержат контексты сессий. Например, бессостояние сессии возобновления.
Контексты сессий могут не содержать все сессии. Например, бессостоятельные сессии не хранятся в контексте сессии.
Существуют SSLSessionContext параметра, которые влияют на то, как хранятся сессии:
- Сессии могут быть установлены на истечение после указанного лимита времени.
- Количество сессий, которые могут храниться в контексте, может быть ограничено.
SSLSessionContext могут быть перечислены.- Since:
- 1.4
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Enumeration<byte[]> |
getIds() |
Возвращает перечисление всех известных идентификаторов сессий, сгруппированных под этим SSLSessionContext. |
SSLSession |
getSession |
Возвращает SSLSession, связанный с указанным идентификатором сессии. |
int |
getSessionCacheSize() |
Возвращает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext. |
int |
getSessionTimeout() |
Возвращает лимит таймаута SSLSession объектов, сгруппированных под этим SSLSessionContext. |
void |
setSessionCacheSize |
Устанавливает размер кэша, используемого для хранения SSLSession объектов, сгруппированных под этим SSLSessionContext. |
void |
setSessionTimeout |
Устанавливает лимит таймаута для 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
int getSessionTimeout()
SSLSession объектов, сгруппированных под этим SSLSessionContext. Если лимит таймаута установлен на 't' секунд, сессия превысит лимит таймаута через 't' секунд после её создания. Когда лимит таймаута превышен для сессии, объект SSLSession становится недействительным, и будущие подключения не смогут возобновить или присоединиться к сессии. Проверка сессий, превышающих лимит таймаута, выполняется немедленно всякий раз, когда лимит таймаута изменяется для этого SSLSessionContext.
- Примечание реализации:
- Реализация JDK возвращает таймаут сессии, установленный методом
setSessionTimeout, или, если он не установлен, значение по умолчанию 86400 секунд (24 часа). - Возвращает:
- лимит таймаута сессии в секундах; ноль означает, что ограничений нет.
- См. также:
setSessionCacheSize
void setSessionCacheSize(int size) throws IllegalArgumentException
SSLSession объектов, сгруппированных под этим SSLSessionContext.- Примечание API:
- Обратите внимание, что реализация JDK использует значения по умолчанию как для размера кэша сессий, так и для таймаута. См.
getSessionCacheSizeиgetSessionTimeoutдля получения дополнительной информации. Приложения должны учитывать свои требования к производительности и переопределять значения по умолчанию, если это необходимо. - Параметры:
-
size- новый лимит размера кэша сессий; ноль означает, что ограничений нет. - Исключения:
-
IllegalArgumentException- если указанный размер< 0. - См. также:
getSessionCacheSize
int getSessionCacheSize()
SSLSession объектов, сгруппированных под этим SSLSessionContext.- Примечание реализации:
- Реализация JDK возвращает размер кэша, установленный методом
setSessionCacheSize, или, если он не установлен, значение системной переменнойjavax.net.ssl.sessionCacheSize. Если ни то, ни другое не установлено, возвращается значение по умолчанию 20480. - Возвращает:
- размер кэша сессий; ноль означает, что ограничений нет.
- См. также:
© 1993, 2021, 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/17/docs/api/java.base/javax/net/ssl/SSLSessionContext.html