Класс StartTlsResponse
- Все реализуемые интерфейсы:
-
Serializable,ExtendedResponse
public abstract class StartTlsResponse extends Object implements ExtendedResponse
Расширенные запросы и ответы 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
OID |
Назначенный идентификатор объекта расширенного ответа StartTLS — 1.3.6.1.4.1.1466.20037. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт расширенный ответ StartTLS. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
close() |
Закрывает TLS-соединение и возвращается к основному соединению. |
byte[] |
getEncodedValue() |
Возвращает значение ответа StartTLS в кодировке ASN.1 BER. |
String |
getID() |
Возвращает строку идентификатора объекта ответа StartTLS. |
abstract SSLSession |
negotiate() |
Устанавливает сеанс TLS, используя стандартную фабрику сокетов SSL. |
abstract SSLSession |
negotiate |
Устанавливает сеанс TLS, используя фабрику сокетов SSL. |
abstract void |
setEnabledCipherSuites |
Переопределяет стандартный список наборов шифров, используемых в TLS-соединении. |
abstract void |
setHostnameVerifier |
Устанавливает верификатор имени хоста, используемый negotiate() после завершения рукопожатия TLS и неудачи проверки имени хоста по умолчанию. |
Подробное описание полей
OID
public static final String OID
- См. также:
Подробное описание конструкторов
StartTlsResponse
protected StartTlsResponse()
Подробное описание методов
getID
public String getID()
- Указано в:
-
getIDв интерфейсеExtendedResponse - Возвращает:
- Строка идентификатора объекта, "1.3.6.1.4.1.1466.20037".
getEncodedValue
public byte[] getEncodedValue()
- Указано в:
-
getEncodedValueв интерфейсеExtendedResponse - Возвращает:
- Значение null.
setEnabledCipherSuites
public abstract void setEnabledCipherSuites(String[] suites)
SSLSocketFactory.getSupportedCipherSuites() как поддерживаемые. Даже если набор включён, он может не использоваться, поскольку противоположная сторона его не поддерживает или требуемые сертификаты (и закрытые ключи) недоступны.- Параметры:
-
suites- список имён всех наборов шифров для включения. - См. также:
setHostnameVerifier
public abstract void setHostnameVerifier(HostnameVerifier verifier)
negotiate() после завершения рукопожатия TLS и неудачи проверки имени хоста по умолчанию. setHostnameVerifier() должен быть вызван до вызова negotiate() для его действия. Если вызван после negotiate(), этот метод ничего не делает.- Параметры:
-
verifier- обратный вызов верификатора имени хоста. - См. также:
negotiate
public abstract SSLSession negotiate() throws IOException
Этот метод эквивалентен negotiate(null).
- Возвращает:
- Установленный SSL-сеанс
- Изначает:
-
IOException- Если при установлении TLS-сеанса произошла ошибка ввода-вывода. - См. также:
negotiate
public abstract SSLSession negotiate(SSLSocketFactory factory) throws IOException
Создаёт SSL-сокет, используя предоставленную фабрику сокетов SSL, и прикрепляет его к существующему соединению. Выполняет рукопожатие TLS и возвращает информацию об установленных сеансе.
Если наборы шифров были установлены через setEnabledCipherSuites, то они активируются до начала рукопожатия TLS.
Проверка имени хоста выполняется после завершения рукопожатия TLS. Стандартная проверка имени хоста выполняет сопоставление имени хоста сервера с информацией о имени хоста, найденной в сертификате сервера. Если эта проверка не удалась и обратный вызов не был установлен через setHostnameVerifier, то установление сеанса завершается неудачей. Если эта проверка не удалась и обратный вызов был установлен через setHostnameVerifier, то обратный вызов используется для определения успеха или неудачи установления сеанса.
Если произошла ошибка, то SSL-сокет закрывается и выбрасывается исключение IOException. Основное соединение остаётся нетронутым.
- Параметры:
-
factory- возможно null фабрика сокетов SSL для использования. Если null, используется стандартная фабрика сокетов SSL. - Возвращает:
- Установленный SSL-сеанс
- Изначает:
-
IOException- Если при установлении TLS-сеанса произошла ошибка ввода-вывода. - См. также:
close
public abstract void close() throws IOException
- Изначает:
-
IOException- Если при закрытии TLS-соединения произошла ошибка ввода-вывода
© 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://download.java.net/java/early_access/jdk24/docs/api/java.naming/javax/naming/ldap/StartTlsResponse.html