Класс 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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
X509ExtendedTrustManager() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
checkClientTrusted |
На основе предоставленной частичной или полной цепочки сертификатов от узла-партнера, постройте и проверьте путь сертификата, учитывая тип аутентификации и параметры ssl. |
abstract void |
checkClientTrusted |
На основе предоставленной частичной или полной цепочки сертификатов от узла-партнера, постройте и проверьте путь сертификата, учитывая тип аутентификации и параметры ssl. |
abstract void |
checkServerTrusted |
На основе предоставленной частичной или полной цепочки сертификатов от узла-партнера, постройте и проверьте путь сертификата, учитывая тип аутентификации и параметры ssl. |
abstract void |
checkServerTrusted |
На основе предоставленной частичной или полной цепочки сертификатов от узла-партнера, постройте и проверьте путь сертификата, учитывая тип аутентификации и параметры 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
Тип аутентификации определяется фактически используемым сертификатом. Например, если используется RSAPublicKey, authType должен быть "RSA". Проверка регистрозависима.
Если параметр socket является экземпляром SSLSocket, и алгоритм идентификации конечной точки SSLParameters не пуст, для предотвращения атак «человек посередине», адрес, к которому подключился socket, должен быть проверен на соответствие идентификатору клиента, представленному в сертификате X509 конечной точки, как указано в алгоритме идентификации конечной точки.
Если параметр socket является экземпляром SSLSocket, и ограничения алгоритма SSLParameters не null, для каждого сертификата в цепочке сертификатов такие поля, как открытый ключ субъекта, алгоритм подписи, использование ключа, расширенное использование ключа и т. д. должны соответствовать ограничениям алгоритма, установленным для этого сокета.
- Параметры:
-
chain- цепочка сертификатов клиента -
authType- используемый алгоритм обмена ключами -
socket- сокет, используемый для этого подключения. Этот параметр может быть null, что указывает на то, что реализации не должны проверять параметры ssl - Исключения:
-
IllegalArgumentException- если для параметраchainпередан null или массив нулевой длины или если для параметраauthTypeпередан null или строка нулевой длины -
CertificateException- если цепочка сертификатов не доверяется этим TrustManager - См. также:
checkServerTrusted
public abstract void checkServerTrusted(X509Certificate[] chain, String authType, Socket socket) throws CertificateException
Тип аутентификации — это часть алгоритма обмена ключами в наборах шифров, представленная строкой, например, "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 - См. также:
checkClientTrusted
public abstract void checkClientTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
Тип аутентификации определяется фактически используемым сертификатом. Например, если используется RSAPublicKey, authType должен быть "RSA". Проверка регистрозависима.
Если параметр engine доступен, и алгоритм идентификации конечной точки SSLParameters не пуст, для предотвращения атак «человек посередине», адрес, к которому подключен engine, должен быть проверен на соответствие идентификатору клиента, представленному в сертификате X509 конечной точки, как указано в алгоритме идентификации конечной точки.
Если параметр engine доступен, и ограничения алгоритма SSLParameters не null, для каждого сертификата в цепочке сертификатов такие поля, как открытый ключ субъекта, алгоритм подписи, использование ключа, расширенное использование ключа и т. д. должны соответствовать ограничениям алгоритма, установленным для этого движка.
- Параметры:
-
chain- цепочка сертификатов клиента -
authType- используемый алгоритм обмена ключами -
engine- движок, используемый для этого подключения. Этот параметр может быть null, что указывает на то, что реализации не должны проверять параметры ssl - Исключения:
-
IllegalArgumentException- если для параметраchainпередан null или массив нулевой длины или если для параметраauthTypeпередан null или строка нулевой длины -
CertificateException- если цепочка сертификатов не доверяется этим TrustManager - См. также:
checkServerTrusted
public abstract void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException
Тип аутентификации — это часть алгоритма обмена ключами в наборах шифров, представленная строкой, например, "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 - См. также:
© 1993, 2021, 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/17/docs/api/java.base/javax/net/ssl/X509ExtendedTrustManager.html