Spec-Zone.ru › OpenJDK 8

Класс 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 String OID

Присвоенный идентификатор объекта расширенного ответа StartTLS — 1.3.6.1.4.1.1466.20037.

Конструкторы

Модификатор Конструктор и описание
protected StartTlsResponse()

Конструирует расширенный ответ 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 - Возможно нулевая фабрика сокетов 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, 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