Интерфейс SSLSession
- Все известные реализующие классы:
ExtendedSSLSession
public interface SSLSession
invalidate. Политики управления сессиями обычно используются для настройки производительности. В дополнение к стандартным атрибутам сессии, сессии SSL предоставляют эти атрибуты только для чтения:
- Идентификатор удалённого узла. Сессии устанавливаются между конкретным клиентом и конкретным сервером. Идентификатор удалённого узла может быть установлен во время настройки сессии. Удаленные узлы, как правило, идентифицируются цепочками сертификатов X.509.
- Название шифрпакета. Шифрпакеты описывают вид криптографической защиты, используемой подключениями в конкретной сессии.
- Хост удалённого узла. Все подключения в сессии устанавливаются между теми же двумя узлами. Адрес узла на другом конце подключения доступен.
Сессии могут быть явно аннулированы. Аннулирование также может происходить неявно, при возникновении определённых типов ошибок.
- С:
- 1.4
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getApplicationBufferSize() |
Возвращает текущий размер максимальных данных приложения, которые ожидаются при использовании этой сессии. |
String |
getCipherSuite() |
Возвращает имя шифрпакета SSL, используемого для всех подключений в сессии. |
long |
getCreationTime() |
Возвращает время создания этого представления сессии в миллисекундах с полуночи 1 января 1970 года по UTC. |
byte[] |
getId() |
Возвращает идентификатор, назначенный этой сессии. |
long |
getLastAccessedTime() |
Возвращает последнее время доступа к этому представлению сессии инфраструктурой уровня сессии в миллисекундах с полуночи 1 января 1970 года по UTC. |
Certificate[] |
getLocalCertificates() |
Возвращает сертификат(ы), отправленный удаленному узлу во время рукопожатия. |
Principal |
getLocalPrincipal() |
Возвращает принципал, отправленный удаленному узлу во время рукопожатия. |
int |
getPacketBufferSize() |
Возвращает текущий размер максимального пакета SSL/TLS/DTLS, который ожидается при использовании этой сессии. |
default X509Certificate[] |
getPeerCertificateChain() |
Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии. |
Certificate[] |
getPeerCertificates() |
Возвращает идентификатор удалённого узла, установленный во время определения сессии. |
String |
getPeerHost() |
Возвращает имя хоста удалённого узла в этой сессии. |
int |
getPeerPort() |
Возвращает номер порта удалённого узла в этой сессии. |
Principal |
getPeerPrincipal() |
Возвращает идентификатор удалённого узла, установленный во время определения сессии. |
String |
getProtocol() |
Возвращает стандартное имя протокола, используемого для всех подключений в сессии. |
SSLSessionContext |
getSessionContext() |
Возвращает контекст, в котором связана эта сессия. |
Object |
getValue |
Возвращает объект, связанный с заданным именем в данных приложения сессии. |
String[] |
getValueNames() |
Возвращает массив имён всех объектов данных приложения, связанных с сессией. |
void |
invalidate() |
Аннулирует сессию. |
boolean |
isValid() |
Возвращает, является ли эта сессия действительной и доступной для возобновления или присоединения. |
void |
putValue |
Связывает указанный value объект в данные приложения сессии с заданным name. |
void |
removeValue |
Удаляет объект, связанный с заданным именем в данных приложения сессии. |
Подробное описание методов
getId
byte[] getId()
- Возвращает:
- идентификатор сеанса
getSessionContext
SSLSessionContext getSessionContext()
В некоторых средах этот контекст может быть недоступен, в этом случае метод возвращает null.
- Возвращает:
- контекст сеанса, используемый для этого сеанса, или null, если контекст недоступен.
getCreationTime
long getCreationTime()
- Возвращает:
- время создания сеанса
getLastAccessedTime
long getLastAccessedTime()
Доступ означает установление нового подключения с использованием данных сеанса. Операции на уровне приложения, такие как получение или установка значения, связанного с сеансом, не отражаются в этом времени доступа.
Эта информация особенно полезна в политиках управления сеансами. Например, поток менеджера сеансов может оставить все сеансы в заданном контексте, которые не использовались в течение длительного времени; или сеансы могут быть отсортированы по возрасту для оптимизации какой-либо задачи.
- Возвращает:
- последнее время доступа к сеансу
invalidate
void invalidate()
Будущие подключения не смогут возобновить или присоединиться к этому сеансу. Однако любое существующее подключение, использующее этот сеанс, может продолжать использовать сеанс до закрытия подключения.
- См. также:
isValid
boolean isValid()
- Возвращает:
- true, если к сеансу можно присоединиться.
- С:
- 1.5
- См. также:
putValue
void putValue(String name, Object value)
value объект в данные приложения сеанса со заданным name. Любая существующая привязка, использующая то же самое name, заменяется. Если новый (или существующий) value реализует интерфейс SSLSessionBindingListener, объект, представленный value, уведомляется соответствующим образом.
- Параметры:
-
name- имя, к которому будет привязано объект данных. Не может быть null. -
value- объект данных, который будет привязан. Не может быть null. - Исключения:
-
IllegalArgumentException- если любой из аргументов равен null.
getValue
Object getValue(String name)
- Параметры:
-
name- имя привязки для поиска. - Возвращает:
- значение, привязанное к этому имени, или null, если привязка не существует.
- Исключения:
-
IllegalArgumentException- если аргумент равен null.
removeValue
void removeValue(String name)
SSLSessionBindingListener, он уведомляется соответствующим образом.- Параметры:
-
name- имя объекта для удаления - Исключения:
-
IllegalArgumentException- если аргумент равен null.
getValueNames
String[] getValueNames()
- Возвращает:
- непустой (возможно, пустой) массив имен объектов, привязанных к этому сеансу.
getPeerCertificates
Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException
Примечание: Этот метод можно использовать только при использовании шифровальных наборов на основе сертификатов; использование с шифровальными наборами без сертификатов, например, Kerberos, вызовет SSLPeerUnverifiedException.
Примечание: возвращаемое значение может не быть допустимой цепочкой сертификатов и не должно использоваться для принятия решений о доверии.
- Возвращает:
- упорядоченный массив сертификатов клиента, где сертификат клиента идёт первым, а затем сертификаты центров сертификации.
- Исключения:
-
SSLPeerUnverifiedException- если идентификатор клиента не был проверен - См. также:
getLocalCertificates
Certificate[] getLocalCertificates()
Примечание: Этот метод полезен только при использовании шифровальных наборов на основе сертификатов.
Когда для рукопожатия доступно несколько сертификатов, реализация выбирает, что она считает «лучшей» цепочкой сертификатов и отправляет её другой стороне. Этот метод позволяет вызывающей стороне узнать, какая цепочка сертификатов была фактически использована.
- Возвращает:
- упорядоченный массив сертификатов, где локальный сертификат идёт первым, а затем сертификаты центров сертификации. Если сертификаты не были отправлены, возвращается null.
- См. также:
getPeerCertificateChain
@Deprecated(since="9", forRemoval=true) default X509Certificate[] getPeerCertificateChain() throws SSLPeerUnverifiedException
getPeerCertificates(), возвращающий массив java.security.cert.Certificate.Примечание: Этот метод можно использовать только при использовании шифровальных наборов на основе сертификатов; использование с шифровальными наборами без сертификатов, например, Kerberos, вызовет SSLPeerUnverifiedException.
Примечание: Возвращаемое значение может не быть допустимой цепочкой сертификатов и не должно использоваться для принятия решений о доверии.
Примечание: этот метод существует для совместимости с предыдущими выпусками. Новые приложения должны использовать getPeerCertificates() вместо этого.
- Требования к реализации:
- Эта реализация по умолчанию выбрасывает UnsupportedOperationException.
- Возвращает:
- упорядоченный массив сертификатов X.509 клиента, где сертификат клиента идёт первым, а затем сертификаты центров сертификации. (Сертификаты в формате исходного JSSE
X509Certificate). - Исключения:
-
SSLPeerUnverifiedException- если идентификатор клиента не был проверен. -
UnsupportedOperationException- если поставщик не реализует операцию. - См. также:
getPeerPrincipal
Principal getPeerPrincipal() throws SSLPeerUnverifiedException
- Возвращает:
- принципал клиента. Возвращает X500Principal для сертификатов X509 и KerberosPrincipal для Kerberos.
- Исключения:
-
SSLPeerUnverifiedException- если идентификатор клиента не был проверен - С:
- 1.5
- См. также:
getLocalPrincipal
Principal getLocalPrincipal()
- Возвращает:
- принципал, отправленный клиенту. Возвращает X500Principal для сертификатов X509 и KerberosPrincipal для Kerberos. Если принципал не был отправлен, возвращается null.
- С:
- 1.5
- См. также:
getCipherSuite
String getCipherSuite()
Это определяет уровень защиты, предоставляемый данным, отправляемым по подключению, включая тип используемого шифрования и большинство аспектов процесса аутентификации.
- Возвращает:
- имя шифровального набора сеанса
getProtocol
String getProtocol()
Определяет протокол, используемый в соединении.
- Возвращает:
- стандартное имя протокола, используемого для всех соединений в сессии.
getPeerHost
String getPeerHost()
Для сервера это имя хоста клиента; для клиента — имя хоста сервера. Имя может не быть полным доменным именем или даже именем хоста, так как оно может представлять строковое кодирование сетевого адреса удалённого узла. Если требуется такое имя, его можно разрешить через службу имен, основываясь на значении, возвращаемом этим методом.
Это значение не аутентифицировано и на него не следует полагаться. Оно используется в основном в качестве подсказки для SSLSession стратегий кэширования.
- Возвращает:
- имя хоста удалённого узла или null, если информация недоступна.
getPeerPort
int getPeerPort()
Для сервера это номер порта клиента; для клиента — номер порта сервера.
Это значение не аутентифицировано и на него не следует полагаться. Оно используется в основном в качестве подсказки для SSLSession стратегий кэширования.
- Возвращает:
- номер порта удалённого узла или -1, если информация недоступна.
- С:
- 1.5
getPacketBufferSize
int getPacketBufferSize()
SSLEngine, использующий эту сессию, может генерировать пакеты SSL/TLS/DTLS любого размера до и включая значение, возвращаемое этим методом. Все SSLEngine сетевые буферы должны быть размером как минимум таким же большим, чтобы избежать проблем с недостатком места при выполнении wrap и unwrap вызовов.
- Возвращает:
- текущий максимальный ожидаемый размер сетевого пакета
- С:
- 1.5
- См. также:
getApplicationBufferSize
int getApplicationBufferSize()
SSLEngine буферы данных приложения должны быть достаточно большими, чтобы вместить данные приложения из любого входящего сетевого пакета данных приложения. Обычно буферы данных исходящего приложения могут быть любого размера.
- Возвращает:
- текущий максимальный ожидаемый размер пакета данных приложения
- С:
- 1.5
- См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/net/ssl/SSLSession.html
getPeerCertificates(), который возвращает массивjava.security.cert.Certificate.