Spec-Zone.ru › OpenJDK 21

Класс StartTlsResponse

java.lang.Object
javax.naming.ldap.StartTlsResponse
Все реализованные интерфейсы:
Serializable, ExtendedResponse
public abstract class StartTlsResponse extends Object implements ExtendedResponse
Этот класс реализует расширенный ответ LDAPv3 для StartTLS, как определено в Протоколе доступа к лёгким каталогам (v3): Расширение для безопасности транспортного уровня. Идентификатор объекта для StartTLS — 1.3.6.1.4.1.1466.20037, и не определено значение расширенного ответа.

Расширенные запросы и ответы Start TLS используются для установления TLS-соединения по уже существующему LDAP-соединению, связанному с контекстом JNDI, на котором вызывается extendedOperation(). Обычно программа JNDI использует классы расширенных запросов и ответов StartTLS следующим образом.

 import javax.naming.ldap.*;

 // Open an LDAP association
 LdapContext ctx = new InitialLdapContext();

 // Perform a StartTLS extended operation
 StartTlsResponse tls =
     (StartTlsResponse) ctx.extendedOperation(new StartTlsRequest());

 // Open a TLS connection (over the existing LDAP association) and get details
 // of the negotiated TLS session: cipher suite, peer certificate, ...
 SSLSession session = tls.negotiate();

 // ... use ctx to perform protected LDAP operations

 // Close the TLS connection (revert back to the underlying LDAP association)
 tls.close();

 // ... use ctx to perform unprotected LDAP operations

 // Close the LDAP association
 ctx.close;
 
С момента:
1.4
См. также:
  • StartTlsRequest
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final String OID
Присвоенный идентификатор объекта расширенного ответа StartTLS — 1.3.6.1.4.1.1466.20037.

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

StartTlsResponse()
Модификатор Конструктор Описание
protected
Создаёт расширенный ответ StartTLS.

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

Модификатор и тип Метод Описание
abstract void close()
Закрывает TLS-соединение корректным образом и возвращается к исходному соединению.
byte[] getEncodedValue()
Возвращает значение ASN.1 BER закодированного ответа StartTLS.
String getID()
Возвращает строку идентификатора объекта ответа StartTLS.
abstract SSLSession negotiate()
Переговоры о TLS-сессии с использованием заводского класса сокетов SSL по умолчанию.
abstract SSLSession negotiate(SSLSocketFactory factory)
Переговоры о TLS-сессии с использованием заводского класса сокетов SSL.
abstract void setEnabledCipherSuites(String[] suites)
Переопределяет список наборов шифров по умолчанию, включенных для использования в TLS-соединении.
abstract void setHostnameVerifier(HostnameVerifier verifier)
Устанавливает проверку имени хоста, используемую negotiate() после завершения рукопожатия TLS и неудачной проверки имени хоста по умолчанию.

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

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

Подробное описание полей

OID

public static final String OID
Присвоенный идентификатор объекта расширенного ответа StartTLS — 1.3.6.1.4.1.1466.20037.
См. также:
  • Значения константных полей

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

StartTlsResponse

protected StartTlsResponse()
Создаёт расширенный ответ StartTLS. Конкретный подкласс должен иметь публичный конструктор без аргументов.

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

getID

public String getID()
Возвращает строку идентификатора объекта ответа StartTLS.
Определено в:
getID в интерфейсе ExtendedResponse
Возвращает:
Строка идентификатора объекта, "1.3.6.1.4.1.1466.20037".

getEncodedValue

public byte[] getEncodedValue()
Возвращает значение ASN.1 BER закодированного ответа StartTLS. Так как ответ не имеет определённого значения, всегда возвращается null.
Определено в:
getEncodedValue в интерфейсе ExtendedResponse
Возвращает:
Значение null.

setEnabledCipherSuites

public abstract void setEnabledCipherSuites(String[] suites)
Переопределяет список наборов шифров по умолчанию, включенных для использования в TLS-соединении. Наборы шифров должны быть уже перечислены SSLSocketFactory.getSupportedCipherSuites() как поддерживаемые. Даже если набор включен, он всё ещё может не использоваться, потому что у партнёра он не поддерживается или потому что необходимые сертификаты (и приватные ключи) недоступны.
Параметры:
suites - Не пустой список имён всех наборов шифров для включения.
См. также:
  • negotiate()

setHostnameVerifier

public abstract void setHostnameVerifier(HostnameVerifier verifier)
Устанавливает проверку имени хоста, используемую negotiate() после завершения рукопожатия TLS и неудачной проверки имени хоста по умолчанию. setHostnameVerifier() должен быть вызван перед вызовом negotiate(), чтобы он имел эффект. Если вызван после negotiate(), этот метод ничего не делает.
Параметры:
verifier - Обратный вызов проверки имени хоста, не может быть null.
См. также:
  • negotiate()

negotiate

public abstract SSLSession negotiate() throws IOException
Переговоры о TLS-сессии с использованием заводского класса сокетов SSL по умолчанию.

Этот метод эквивалентен negotiate(null).

Возвращает:
Переговоренная SSL-сессия
Исключение:
IOException - Если при установлении TLS-сессии возникла ошибка ввода-вывода.
См. также:
  • setEnabledCipherSuites(java.lang.String[])
  • setHostnameVerifier(javax.net.ssl.HostnameVerifier)

negotiate

public abstract SSLSession negotiate(SSLSocketFactory factory) throws IOException
Переговоры о TLS-сессии с использованием заводского класса сокетов SSL.

Создаёт SSL-сокет с помощью предоставленного заводского класса сокетов SSL и подключает его к существующему соединению. Выполняет TLS-рукопожатие и возвращает информацию о переговорённой сессии.

Если наборы шифров были установлены через setEnabledCipherSuites, они включаются перед началом TLS-рукопожатия.

Проверка имени хоста выполняется после завершения TLS-рукопожатия. Проверка имени хоста по умолчанию выполняет сопоставление имени хоста сервера с информацией о имени хоста, найденной в сертификате сервера. Если эта проверка завершается неудачно и обратный вызов не был установлен через setHostnameVerifier, то переговоры завершаются неудачей. Если эта проверка завершается неудачей и обратный вызов установлен через setHostnameVerifier, то используется обратный вызов для определения успеха переговоров.

Если возникает ошибка, SSL-сокет закрывается, и выбрасывается исключение IOException. Исходное соединение остаётся целым.

Параметры:
factory - Возможный заводской класс сокетов SSL. Если null, используется заводской класс сокетов SSL по умолчанию.
Возвращает:
Переговоренная SSL-сессия
Исключение:
IOException - Если при установлении TLS-сессии возникла ошибка ввода-вывода.
См. также:
  • setEnabledCipherSuites(java.lang.String[])
  • setHostnameVerifier(javax.net.ssl.HostnameVerifier)

close

public abstract void close() throws IOException
Закрывает TLS-соединение корректным образом и возвращается к исходному соединению.
Исключение:
IOException - Если при закрытии TLS-соединения возникла ошибка ввода-вывода

© 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.naming/javax/naming/ldap/StartTlsResponse.html

Spec-Zone.ru

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