Spec-Zone.ru › OpenJDK 8

Интерфейс SSLSession

Все известные реализующие классы:
ExtendedSSLSession

public interface SSLSession

В SSL сессии используются для описания текущих отношений между двумя сущностями. Каждое подключение SSL использует одну сессию за раз, но эта сессия может быть использована на многих подключениях между этими сущностями, одновременно или последовательно. Сессия, используемая в подключении, также может быть заменена другой сессией. Сессии создаются или воссоединяются в рамках протокола рукопожатия SSL. Сессии могут быть аннулированы из-за политик, влияющих на безопасность или использование ресурсов, или приложением, явно вызвав 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, ожидаемого при использовании этой сессии.

X509Certificate[] getPeerCertificateChain()

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

Certificate[] getPeerCertificates()

Возвращает идентификатор удалённого узла, установленный при определении сессии.

String getPeerHost()

Возвращает имя хоста удалённого узла в этой сессии.

int getPeerPort()

Возвращает номер порта удалённого узла в этой сессии.

Principal getPeerPrincipal()

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

String getProtocol()

Возвращает стандартное имя протокола, используемого для всех подключений в сессии.

SSLSessionContext getSessionContext()

Возвращает контекст, в котором связана эта сессия.

Object getValue(String name)

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

String[] getValueNames()

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

void invalidate()

Аннулирует сессию.

boolean isValid()

Возвращает, является ли эта сессия действительной и доступной для возобновления или присоединения.

void putValue(String name, Object value)

Связывает указанный value объект в данные приложения уровня сессии с заданным name.

void removeValue(String name)

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

Методы

getId

byte[] getId()

Возвращает идентификатор, назначенный этой сессии.

Возвращает:
идентификатор сессии

getSessionContext

SSLSessionContext getSessionContext()

Возвращает контекст, в котором связана эта сессия.

Этот контекст может быть недоступен в некоторых средах, в этом случае этот метод возвращает null.

Если контекст доступен и установлен менеджер безопасности, вызывающему методу может потребоваться разрешение на доступ к нему, или может быть выброшено исключение безопасности. В среде Java вызывается метод менеджера безопасности checkPermission с разрешением SSLPermission("getSSLSessionContext").

Возвращает:
контекст сессии, используемый для этой сессии, или null, если контекст недоступен.
Исключение:
SecurityException - если у потока вызова нет разрешения получить контекст SSL-сессии.

getCreationTime

long getCreationTime()

Возвращает время создания этого представления сессии в миллисекундах с полуночи 1 января 1970 года по UTC.

Возвращает:
время создания сессии

getLastAccessedTime

long getLastAccessedTime()

Возвращает последнее время доступа к этому представлению сессии инфраструктурой уровня сессии в миллисекундах с полуночи 1 января 1970 года по UTC.

Доступ означает установление нового соединения с использованием данных сессии. Операции уровня приложения, такие как получение или установка значения, связанного с сессией, не отражаются во времени доступа.

Эта информация особенно полезна в политиках управления сессиями. Например, поток менеджера сессий может оставлять все сессии в данном контексте, которые не использовались длительное время; или сессии могут быть отсортированы по возрасту для оптимизации некоторой задачи.

Возвращает:
последнее время доступа к этой сессии

invalidate

void invalidate()

Делает сессию недействительной.

Будущие подключения не смогут возобновить или присоединиться к этой сессии. Однако любое существующее подключение, использующее эту сессию, может продолжить использование сессии до закрытия подключения.

См. также:
isValid()

isValid

boolean isValid()

Возвращает, является ли эта сессия действительной и доступной для возобновления или присоединения.

Возвращает:
true, если к этой сессии можно присоединиться.
С момента:
1.5
См. также:
invalidate()

putValue

void putValue(String name,
              Object value)

Связывает указанный объект уровня приложения в данные сессии с заданным именем.

Любое существующее связывание с тем же именем заменяется. Если новый (или существующий) объект реализует интерфейс SSLSessionBindingListener, объект, представленный value, уведомляется должным образом.

По соображениям безопасности значения с одинаковыми именами могут быть невидимыми в разных контекстах управления доступом.

Параметры:
name - имя, к которому будет привязано данные. Не может быть null.
value - данные для привязки. Не может быть null.
Исключение:
IllegalArgumentException - если любой из аргументов равен null.

getValue

Object getValue(String name)

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

По соображениям безопасности значения с одинаковыми именами могут быть невидимыми в разных контекстах управления доступом.

Параметры:
name - имя связывания для поиска.
Возвращает:
значение, связанное с этим именем, или null, если связывание не существует.
Исключение:
IllegalArgumentException - если аргумент равен null.

removeValue

void removeValue(String name)

Удаляет объект, привязанный к заданному имени в данных сессии приложения. Не делает ничего, если объект не привязан к заданному имени. Если привязанный объект реализует интерфейс SessionBindingListener, он уведомляется должным образом.

По соображениям безопасности значения с одинаковыми именами могут быть невидимыми в разных контекстах управления доступом.

Параметры:
name - имя объекта для удаления.
Исключение:
IllegalArgumentException - если аргумент равен null.

getValueNames

String[] getValueNames()

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

По соображениям безопасности значения с одинаковыми именами могут быть невидимыми в разных контекстах управления доступом.

Возвращает:
непустой массив имен объектов, привязанных к этой сессии.

getPeerCertificates

Certificate[] getPeerCertificates()
                           throws SSLPeerUnverifiedException

Возвращает идентификатор узла, который был установлен при определении сессии.

Примечание: этот метод может быть использован только при использовании шифров на основе сертификатов; использование его с шифрами без сертификатов, таких как Kerberos, вызовет SSLPeerUnverifiedException.

Возвращает:
упорядоченный массив сертификатов узла, начиная с сертификата самого узла, за которым следуют сертификаты центров сертификации.
Исключение:
SSLPeerUnverifiedException - если идентификатор узла не был проверен
См. также:
getPeerPrincipal()

getLocalCertificates

Certificate[] getLocalCertificates()

Возвращает сертификат(ы), который(е) были отправлены узлу во время рукопожатия.

Примечание: этот метод полезен только при использовании шифров на основе сертификатов.

Когда для рукопожатия доступно несколько сертификатов, реализация выбирает то, что считает «лучшей» цепочкой сертификатов, доступной, и отправляет её на другую сторону. Этот метод позволяет вызывающему методу узнать, какая цепочка сертификатов фактически была использована.

Возвращает:
упорядоченный массив сертификатов, начиная с локального сертификата, за которым следуют сертификаты центров сертификации. Если сертификаты не отправлялись, возвращается null.
См. также:
getLocalPrincipal()

getPeerCertificateChain

X509Certificate[] getPeerCertificateChain()
                                   throws SSLPeerUnverifiedException

Возвращает идентификатор узла, который был определен как часть определения сессии.

Примечание: этот метод может быть использован только при использовании шифров на основе сертификатов; использование его с шифрами без сертификатов, таких как Kerberos, вызовет SSLPeerUnverifiedException.

Примечание: этот метод существует для совместимости с предыдущими выпусками. Новые приложения должны использовать getPeerCertificates() вместо этого.

Возвращает:
упорядоченный массив сертификатов X.509 узла, начиная с сертификата самого узла, за которым следуют сертификаты центров сертификации. (Сертификаты имеют формат исходного сертификата JSSE X509Certificate.)
Исключение:
SSLPeerUnverifiedException - если идентификатор узла не был проверен
См. также:
getPeerPrincipal()

getPeerPrincipal

Principal getPeerPrincipal()
                    throws SSLPeerUnverifiedException

Возвращает идентификатор узла, который был установлен как часть определения сессии.

Возвращает:
принципал узла. Возвращает X500Principal для сертификата конечного узла для шифров на основе X509 и KerberosPrincipal для шифров Kerberos.
Исключение:
SSLPeerUnverifiedException - если идентификатор узла не был проверен
С момента:
1.5
См. также:
getPeerCertificates(), getLocalPrincipal()

getLocalPrincipal

Principal getLocalPrincipal()

Возвращает принципал, который был отправлен узлу во время рукопожатия.

Возвращает:
принципал, отправленный узлу. Возвращает X500Principal для сертификата конечного узла для шифров на основе X509 и KerberosPrincipal для шифров Kerberos. Если принципал не был отправлен, возвращается null.
С момента:
1.5
См. также:
getLocalCertificates(), getPeerPrincipal()

getCipherSuite

String getCipherSuite()

Возвращает имя SSL-шифрующего набора, используемого для всех подключений в сессии.

Это определяет уровень защиты, предоставляемый данным, отправляемым по подключению, включая тип используемого шифрования и большинство аспектов процесса аутентификации.

Возвращает:
имя шифрующего набора сессии

getProtocol

String getProtocol()

Возвращает стандартное имя протокола, используемого для всех подключений в сессии.

Это определяет протокол, используемый в подключении.

Возвращает:
стандартное имя протокола, используемого для всех подключений в сессии.

getPeerHost

String getPeerHost()

Возвращает имя хоста узла в этой сессии.

Для сервера это хост клиента; для клиента это хост сервера. Имя может быть не полным именем хоста или вообще не именем хоста, так как оно может представлять собой строковое кодирование сетевого адреса узла. Если такое имя необходимо, оно может быть разрешено через службу имен на основе значения, возвращаемого этим методом.

Это значение не аутентифицировано и на него не следует полагаться. Оно используется в основном в качестве подсказки для SSLSession стратегий кеширования.

Возвращает:
имя хоста узла или null, если информация недоступна.

getPeerPort

int getPeerPort()

Возвращает номер порта узла в этой сессии.

Для сервера это номер порта клиента; для клиента это номер порта сервера.

Это значение не аутентифицировано и на него не следует полагаться. Оно используется в основном в качестве подсказки для SSLSession стратегий кеширования.

Возвращает:
номер порта узла или -1, если информация недоступна.
С момента:
1.5

getPacketBufferSize

int getPacketBufferSize()

Получает текущий размер самого большого пакета SSL/TLS, ожидаемого при использовании этого сеанса.

Любое SSLEngine использование этого сеанса может генерировать пакеты SSL/TLS любого размера до и включая значение, возвращаемое этим методом. Все SSLEngine сетевые буферы должны быть размером как минимум настолько большим, чтобы избежать проблем недостаточного пространства при выполнении wrap и unwrap вызовов.

Возвращает:
текущий максимальный ожидаемый размер сетевого пакета
С:
1.5
См. также:
SSLEngine.wrap(ByteBuffer, ByteBuffer), SSLEngine.unwrap(ByteBuffer, ByteBuffer)

getApplicationBufferSize

int getApplicationBufferSize()

Получает текущий размер самого большого приложения данных, ожидаемого при использовании этого сеанса.

Буферы данных приложения SSLEngine должны быть достаточно большими, чтобы вместить данные приложения из любого входящего сетевого пакета данных приложения. Как правило, буферы данных исходящих приложений могут иметь любой размер.

Возвращает:
текущий максимальный ожидаемый размер пакета приложения
С:
1.5
См. также:
SSLEngine.wrap(ByteBuffer, ByteBuffer), SSLEngine.unwrap(ByteBuffer, ByteBuffer)

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API