Spec-Zone.ru › OpenJDK 25

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

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

checkClientTrusted, checkServerTrusted, 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/net/ssl/X509ExtendedTrustManager.html

Spec-Zone.ru

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