Spec-Zone.ru › OpenJDK 27

Класс X509ExtendedTrustManager

java.lang.Object
javax.net.ssl.X509ExtendedTrustManager
Все реализуемые интерфейсы:
TrustManager, X509TrustManager
public abstract class X509ExtendedTrustManager extends Object implements X509TrustManager
Расширения интерфейса X509TrustManager для поддержки управления доверием с учетом параметров SSL/TLS/DTLS-соединения.

Для предотвращения атак типа «человек посередине» можно выполнять проверку имени хоста, чтобы удостовериться, что имя хоста в сертификате конечного объекта совпадает с целевым именем хоста. TLS/DTLS не требует таких проверок, но некоторые протоколы поверх TLS/DTLS (например, HTTPS) требуют. В более ранних версиях JDK проверка цепочки сертификатов выполнялась на уровне SSL/TLS/DTLS, а проверка имени хоста — на уровне протокола поверх TLS/DTLS. Этот класс позволяет выполнять обе проверки за один вызов данного класса.

RFC 2830 определяет спецификацию идентификации сервера для алгоритма "LDAPS". RFC 2818 определяет спецификации идентификации как сервера, так и клиента для алгоритма "HTTPS".

Начиная с:
1.7
См. также:
  • X509TrustManager
  • HostnameVerifier

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

Конструктор Описание
X509ExtendedTrustManager()
Конструктор, вызываемый подклассами.

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

Модификатор и тип Метод Описание
abstract void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.
abstract void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.
abstract void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.
abstract void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или прерывания, либо истечения определенного промежутка реального времени.

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

checkClientTrusted, checkServerTrusted, getAcceptedIssuers
Модификатор и тип Метод Описание
void checkClientTrusted(X509Certificate[] chain, String authType)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить путь сертификатов к доверенному корневому сертификату и вернуть результат проверки того, является ли цепочка доверенной для SSL-аутентификации клиента на основе типа аутентификации.
void checkServerTrusted(X509Certificate[] chain, String authType)
По частичной или полной цепочке сертификатов, предоставленной узлом, построить путь сертификатов к доверенному корневому сертификату и вернуть результат проверки того, является ли цепочка доверенной для SSL-аутентификации сервера на основе типа аутентификации.
X509Certificate[] getAcceptedIssuers()
Возвращает массив сертификатов центров сертификации, которым доверяют при аутентификации узлов.

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

X509ExtendedTrustManager

public X509ExtendedTrustManager()
Конструктор, вызываемый подклассами.

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

checkClientTrusted

public abstract void checkClientTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.

Тип аутентификации определяется фактически используемым сертификатом. Например, если используется RSAPublicKey, значение authType должно быть "RSA". Проверка учитывает регистр.

Если параметр socket является экземпляром SSLSocket, а алгоритм идентификации конечной точки в SSLParameters не пуст, то для предотвращения атак типа «человек посередине» следует проверить адрес, к которому подключен socket, на соответствие идентификатору узла, представленному в сертификате X509 конечного объекта, как указано в алгоритме идентификации конечной точки.

Если параметр socket является экземпляром SSLSocket, а ограничения алгоритмов в SSLParameters не равны null, поля каждого сертификата в пути сертификации, такие как открытый ключ субъекта, алгоритм подписи, назначение ключа, расширенное назначение ключа и т. д., должны соответствовать ограничениям алгоритмов, установленным для этого сокета.

Параметры:
chain — цепочка сертификатов узла
authType — используемый алгоритм обмена ключами
socket — сокет, используемый для этого соединения. Этот параметр может быть равен null, что означает, что реализации не обязаны проверять параметры SSL
Вызывает исключения:
IllegalArgumentException — если для параметра chain передан null или массив нулевой длины либо для параметра authType передана строка null или нулевой длины
CertificateException — если TrustManager не доверяет цепочке сертификатов
См. также:
  • SSLParameters.getEndpointIdentificationAlgorithm()
  • SSLParameters.setEndpointIdentificationAlgorithm(String)
  • SSLParameters.getAlgorithmConstraints()
  • SSLParameters.setAlgorithmConstraints(AlgorithmConstraints)

checkServerTrusted

public abstract void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.

Тип аутентификации — это часть набора шифров, отвечающая за алгоритм обмена ключами, представленная строкой, например "RSA", "DHE_DSS". Примечание: для некоторых экспортных наборов шифров алгоритм обмена ключами определяется во время выполнения в процессе рукопожатия. Например, для TLS_RSA_EXPORT_WITH_RC4_40_MD5 значение authType должно быть RSA_EXPORT, если для обмена ключами используется временный ключ RSA, и RSA, если используется ключ из сертификата сервера. Проверка учитывает регистр.

Если параметр socket является экземпляром SSLSocket, а алгоритм идентификации конечной точки в SSLParameters не пуст, то для предотвращения атак типа «человек посередине» следует проверить адрес, к которому подключен socket, на соответствие идентификатору узла, представленному в сертификате X509 конечного объекта, как указано в алгоритме идентификации конечной точки.

Если параметр socket является экземпляром SSLSocket, а ограничения алгоритмов в SSLParameters не равны null, поля каждого сертификата в пути сертификации, такие как открытый ключ субъекта, алгоритм подписи, назначение ключа, расширенное назначение ключа и т. д., должны соответствовать ограничениям алгоритмов, установленным для этого сокета.

Параметры:
chain — цепочка сертификатов узла
authType — используемый алгоритм обмена ключами
socket — сокет, используемый для этого соединения. Этот параметр может быть равен null, что означает, что реализации не обязаны проверять параметры SSL
Вызывает исключения:
IllegalArgumentException — если для параметра chain передан null или массив нулевой длины либо для параметра authType передана строка null или нулевой длины
CertificateException — если TrustManager не доверяет цепочке сертификатов
См. также:
  • SSLParameters.getEndpointIdentificationAlgorithm()
  • SSLParameters.setEndpointIdentificationAlgorithm(String)
  • SSLParameters.getAlgorithmConstraints()
  • SSLParameters.setAlgorithmConstraints(AlgorithmConstraints)

checkClientTrusted

public abstract void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.

Тип аутентификации определяется фактически используемым сертификатом. Например, если используется RSAPublicKey, значение authType должно быть "RSA". Проверка учитывает регистр.

Если параметр engine доступен, а алгоритм идентификации конечной точки в SSLParameters не пуст, то для предотвращения атак типа «человек посередине» следует проверить адрес, к которому подключен engine, на соответствие идентификатору узла, представленному в сертификате X509 конечного объекта, как указано в алгоритме идентификации конечной точки.

Если параметр engine доступен, а ограничения алгоритмов в SSLParameters не равны null, поля каждого сертификата в пути сертификации, такие как открытый ключ субъекта, алгоритм подписи, назначение ключа, расширенное назначение ключа и т. д., должны соответствовать ограничениям алгоритмов, установленным для этого движка.

Параметры:
chain — цепочка сертификатов узла
authType — используемый алгоритм обмена ключами
engine — движок, используемый для этого соединения. Этот параметр может быть равен null, что означает, что реализации не обязаны проверять параметры SSL
Вызывает исключения:
IllegalArgumentException — если для параметра chain передан null или массив нулевой длины либо для параметра authType передана строка null или нулевой длины
CertificateException — если TrustManager не доверяет цепочке сертификатов
См. также:
  • SSLParameters.getEndpointIdentificationAlgorithm()
  • SSLParameters.setEndpointIdentificationAlgorithm(String)
  • SSLParameters.getAlgorithmConstraints()
  • SSLParameters.setAlgorithmConstraints(AlgorithmConstraints)

checkServerTrusted

public abstract void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
По частичной или полной цепочке сертификатов, предоставленной узлом, построить и проверить путь сертификатов на основе типа аутентификации и параметров SSL.

Тип аутентификации — это часть набора шифров, отвечающая за алгоритм обмена ключами, представленная строкой, например "RSA", "DHE_DSS". Примечание: для некоторых экспортных наборов шифров алгоритм обмена ключами определяется во время выполнения в процессе рукопожатия. Например, для TLS_RSA_EXPORT_WITH_RC4_40_MD5 значение authType должно быть RSA_EXPORT, если для обмена ключами используется временный ключ RSA, и RSA, если используется ключ из сертификата сервера. Проверка учитывает регистр.

Если параметр engine доступен, а алгоритм идентификации конечной точки в SSLParameters не пуст, то для предотвращения атак типа «человек посередине» следует проверить адрес, к которому подключен engine, на соответствие идентификатору узла, представленному в сертификате X509 конечного объекта, как указано в алгоритме идентификации конечной точки.

Если параметр engine доступен, а ограничения алгоритмов в SSLParameters не равны null, поля каждого сертификата в пути сертификации, такие как открытый ключ субъекта, алгоритм подписи, назначение ключа, расширенное назначение ключа и т. д., должны соответствовать ограничениям алгоритмов, установленным для этого движка.

Параметры:
chain — цепочка сертификатов узла
authType — используемый алгоритм обмена ключами
engine — движок, используемый для этого соединения. Этот параметр может быть равен null, что означает, что реализации не обязаны проверять параметры SSL
Вызывает исключения:
IllegalArgumentException — если для параметра chain передан null или массив нулевой длины либо для параметра authType передана строка null или нулевой длины
CertificateException — если TrustManager не доверяет цепочке сертификатов
См. также:
  • SSLParameters.getEndpointIdentificationAlgorithm()
  • SSLParameters.setEndpointIdentificationAlgorithm(String)
  • SSLParameters.getAlgorithmConstraints()
  • SSLParameters.setAlgorithmConstraints(AlgorithmConstraints)

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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