Spec-Zone.ru › OpenJDK 17

Класс StartTlsResponse

java.lang.Object
javax.naming.ldap.StartTlsResponse
Все реализуемые интерфейсы:
Serializable, ExtendedResponse
public abstract class StartTlsResponse extends Object implements ExtendedResponse
Этот класс реализует расширенный ответ LDAPv3 для StartTLS, как определено в Lightweight Directory Access Protocol (v3): Расширение для Transport Layer Security. Идентификатор объекта для 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()
Возвращает значение ответа StartTLS, закодированное в ASN.1 BER.
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()
Возвращает значение ответа StartTLS, закодированное в ASN.1 BER. Поскольку ответ не имеет определенного значения, всегда возвращается 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 - Непустой обратный вызов верификатора имени хоста.
См. также:
  • 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 - Возможно null фабрика 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, 2021, 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/17/docs/api/java.naming/javax/naming/ldap/StartTlsResponse.html

Spec-Zone.ru

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