Интерфейс 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.
Если контекст доступен и установлен менеджер безопасности, вызывающей стороне может потребоваться разрешение на доступ к нему, или может быть выброшено исключение безопасности. В среде Java метод checkPermission менеджера безопасности вызывается с разрешением SSLPermission("getSSLSessionContext").
- Возвращает:
- контекст сеанса, используемый для этого сеанса, или null, если контекст недоступен.
- Исключения:
-
SecurityException- если у потока вызова нет разрешения на получение контекста SSL-сеанса.
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, 2023, 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/21/docs/api/java.base/javax/net/ssl/SSLSession.html
getPeerCertificates(), который возвращает массивjava.security.cert.Certificate.