Spec-Zone.ru › OpenJDK 21

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

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе javax.net.ssl.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)

© 1993, 2023, 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/21/docs/api/java.base/javax/net/ssl/X509ExtendedTrustManager.html

Spec-Zone.ru

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