Spec-Zone.ru › OpenJDK 25

Класс ExtendedSSLSession

java.lang.Object
javax.net.ssl.ExtendedSSLSession
Все реализуемые интерфейсы:
SSLSession
public abstract class ExtendedSSLSession extends Object implements SSLSession
Расширяет интерфейс SSLSession для поддержки дополнительных атрибутов сеанса.
С версии:
1.7

Краткое описание конструкторов

Конструктор Описание
ExtendedSSLSession()
Конструктор для вызова из подклассов.

Краткое описание методов

Модификатор и тип Метод Описание
byte[] exportKeyingMaterialData(String label, byte[] context, int length)
Создает экспортируемый материал ключей (EKM), вычисленный согласно алгоритмам, определенным в RFC 5705/8446.
SecretKey exportKeyingMaterialKey(String keyAlg, String label, byte[] context, int length)
Создает экспортируемый материал ключей (EKM), вычисленный согласно алгоритмам, определенным в RFC 5705/8446.
abstract String[] getLocalSupportedSignatureAlgorithms()
Получает массив поддерживаемых алгоритмов подписи, которые локальная сторона готова использовать.
abstract String[] getPeerSupportedSignatureAlgorithms()
Получает массив поддерживаемых алгоритмов подписи, которые может использовать узел-партнер.
List<SNIServerName> getRequestedServerNames()
Получает List, содержащий все SNIServerName запрошенного расширения Server Name Indication (SNI).
List<byte[]> getStatusResponses()
Возвращает List, содержащий ответы OCSP в кодировке DER (с типом ASN.1 OCSPResponse, определенным в RFC 6960), чтобы клиент мог проверить статус сертификата сервера во время рукопожатия.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе SSLSession

getApplicationBufferSize, getCipherSuite, getCreationTime, getId, getLastAccessedTime, getLocalCertificates, getLocalPrincipal, getPacketBufferSize, getPeerCertificateChain, getPeerCertificates, getPeerHost, getPeerPort, getPeerPrincipal, getProtocol, getSessionContext, getValue, getValueNames, invalidate, isValid, putValue, removeValue

Подробное описание конструкторов

ExtendedSSLSession

public ExtendedSSLSession()
Конструктор для вызова из подклассов.

Подробное описание методов

getLocalSupportedSignatureAlgorithms

public abstract String[] getLocalSupportedSignatureAlgorithms()
Получает массив поддерживаемых алгоритмов подписи, которые локальная сторона готова использовать.

Примечание: этот метод используется для указания узлу-партнеру, какие алгоритмы подписи могут применяться для цифровых подписей в TLS/DTLS 1.2. Для версий TLS/DTLS ниже 1.2 он не имеет смысла.

Имя алгоритма подписи должно быть стандартным именем Java Security (например, "SHA1withRSA", "SHA256withECDSA" и т. д.). Сведения о стандартных именах алгоритмов см. в документе Стандартные имена алгоритмов Java Security.

Примечание: поддерживаемые локальной стороной алгоритмы подписи должны соответствовать ограничениям алгоритмов, заданным методом getAlgorithmConstraints() в SSLParameters.

Возвращает:
Массив поддерживаемых алгоритмов подписи в порядке убывания предпочтения. Если ни один алгоритм подписи не поддерживается, возвращается пустой массив.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security
См. также:
  • SSLParameters.getAlgorithmConstraints()

getPeerSupportedSignatureAlgorithms

public abstract String[] getPeerSupportedSignatureAlgorithms()
Получает массив поддерживаемых алгоритмов подписи, которые может использовать узел-партнер.

Примечание: этот метод используется для указания локальной стороне, какие алгоритмы подписи могут применяться для цифровых подписей в TLS/DTLS 1.2. Для версий TLS/DTLS ниже 1.2 он не имеет смысла.

Имя алгоритма подписи должно быть стандартным именем Java Security (например, "SHA1withRSA", "SHA256withECDSA" и т. д.). Сведения о стандартных именах алгоритмов см. в документе Стандартные имена алгоритмов Java Security.

Возвращает:
Массив поддерживаемых алгоритмов подписи в порядке убывания предпочтения. Если узел-партнер не отправил список поддерживаемых алгоритмов подписи, возвращается пустой массив.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security
См. также:
  • X509KeyManager
  • X509ExtendedKeyManager

getRequestedServerNames

public List<SNIServerName> getRequestedServerNames()
Получает List, содержащий все SNIServerName запрошенного расширения Server Name Indication (SNI).

В режиме сервера, если возвращаемый List не пуст, серверу следует использовать запрошенные имена сервера для выбора подходящего сертификата аутентификации и/или определения других аспектов политики безопасности.

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

Возвращает:
не null, неизменяемый список SNIServerName запрошенных указаний имени сервера. Возвращаемый список может быть пустым, если указания имени сервера не запрашивались.
Выбрасывает:
UnsupportedOperationException — если базовый провайдер не реализует эту операцию
С версии:
1.8
См. также:
  • SNIServerName
  • X509ExtendedTrustManager
  • X509ExtendedKeyManager

getStatusResponses

public List<byte[]> getStatusResponses()
Возвращает List, содержащий ответы OCSP в кодировке DER (с типом ASN.1 OCSPResponse, определенным в RFC 6960), чтобы клиент мог проверить статус сертификата сервера во время рукопожатия.

Этот метод применим только для аутентификации сервера на основе сертификата. X509ExtendedTrustManager использует возвращаемое значение для проверки сертификата сервера.

Требования к реализации:
По умолчанию этот метод выбрасывает UnsupportedOperationException. Классы, производные от ExtendedSSLSession, должны реализовать этот метод.
Возвращает:
не null, неизменяемый список массивов байтов, каждый элемент которого содержит ответ OCSP в кодировке DER (с типом ASN.1 OCSPResponse, определенным в RFC 6960). Порядок ответов должен совпадать с порядком сертификатов, представленных сервером в сообщении Certificate (см. SSLSession.getLocalCertificates() для режима сервера и SSLSession.getPeerCertificates() для режима клиента). Возвращаемых элементов может быть меньше, чем представленных сертификатов. Если элемент списка представляет собой массив байтов нулевой длины, вызывающая сторона должна считать, что ответ OCSP для соответствующего сертификата отсутствует. Возвращаемый список может быть пустым, если во время рукопожатия не было представлено ответов OCSP или если ни одна из конечных точек не поддерживает OCSP stapling для этого рукопожатия.
Выбрасывает:
UnsupportedOperationException — если базовый провайдер не реализует эту операцию
С версии:
9
См. также:
  • X509ExtendedTrustManager

exportKeyingMaterialKey

public SecretKey exportKeyingMaterialKey(String keyAlg, String label, byte[] context, int length) throws SSLKeyException
Создает экспортируемый материал ключей (EKM), вычисленный согласно алгоритмам, определенным в RFC 5705/8446.

RFC 5705 (для (D)TLSv1.2 и более ранних версий) вычисляет разные значения EKM в зависимости от того, является ли context null или ненулевым/непустым. RFC 8446 (TLSv1.3) рассматривает null-контекст как ненулевой/непустой.

label будет преобразовано в байты с использованием кодировки символов StandardCharsets.UTF_8.

Требования к реализации:
Реализация по умолчанию выбрасывает UnsupportedOperationException.
Параметры:
keyAlg — алгоритм результирующего объекта SecretKey. Сведения о стандартных именах алгоритмов секретных ключей см. в разделе SecretKey Algorithms спецификации Стандартные имена алгоритмов Java Security.
label — байты метки, используемые при вычислении EKM. label будет преобразовано в byte[] до начала операции.
context — байты контекста, используемые при вычислении EKM, или null
length — количество байтов материала EKM
Возвращает:
SecretKey, содержащий length байтов материала EKM
Выбрасывает:
SSLKeyException — если не удается создать ключ
IllegalArgumentException — если keyAlg пуст, length неположителен или невозможно разместить данные длиной label или context
NullPointerException — если keyAlg или label равен null
IllegalStateException — если в этом сеансе отсутствует необходимый материал для создания ключа (например, если сеанс находится в процессе установления во время рукопожатия)
UnsupportedOperationException — если базовый провайдер не реализует эту операцию
С версии:
25
Внешние спецификации
  • RFC 5705: Экспортёры ключевого материала для протокола безопасности транспортного уровня (TLS)
  • RFC 8446: Протокол безопасности транспортного уровня (TLS), версия 1.3

exportKeyingMaterialData

public byte[] exportKeyingMaterialData(String label, byte[] context, int length) throws SSLKeyException
Создает экспортируемый материал ключей (EKM), вычисленный согласно алгоритмам, определенным в RFC 5705/8446.

RFC 5705 (для (D)TLSv1.2 и более ранних версий) вычисляет разные значения EKM в зависимости от того, является ли context null или ненулевым/непустым. RFC 8446 (TLSv1.3) рассматривает null-контекст как ненулевой/непустой.

label будет преобразовано в байты с использованием кодировки символов StandardCharsets.UTF_8.

В зависимости от выбранного базового механизма выведения ключей исходные байты могут быть недоступны для извлечения/экспорта. В таких случаях для доступа к созданному материалу ключей следует использовать метод exportKeyingMaterialKey(String, String, byte[], int).

Требования к реализации:
Реализация по умолчанию выбрасывает UnsupportedOperationException.
Параметры:
label — байты метки, используемые при вычислении EKM. label будет преобразовано в byte[] до начала операции.
context — байты контекста, используемые при вычислении EKM, или null
length — количество байтов материала EKM
Возвращает:
массив байтов размером length, содержащий материал EKM
Выбрасывает:
SSLKeyException — если не удается создать ключ
IllegalArgumentException — если length неположителен или невозможно разместить данные длиной label или context
NullPointerException — если label равен null
IllegalStateException — если в этом сеансе отсутствует необходимый материал для создания ключа (например, если сеанс находится в процессе установления во время рукопожатия)
UnsupportedOperationException — если базовый провайдер не реализует эту операцию или если производный материал ключа невозможно извлечь
С версии:
25
Внешние спецификации
  • RFC 5705: Экспортёры ключевого материала для протокола безопасности транспортного уровня (TLS)
  • RFC 8446: Протокол безопасности транспортного уровня (TLS), версия 1.3

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/net/ssl/ExtendedSSLSession.html

Spec-Zone.ru

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