Spec-Zone.ru › OpenJDK 8

Класс X509ExtendedTrustManager

  • java.lang.Object
    • javax.net.ssl.X509ExtendedTrustManager
Все реализованные интерфейсы:
TrustManager, X509TrustManager

public abstract class X509ExtendedTrustManager
extends Object
implements X509TrustManager

Расширения интерфейса X509TrustManager для поддержки управления доверенностью, чувствительного к соединениям SSL/TLS.

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

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, 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