Spec-Zone.ru › OpenJDK 8

Класс CertPathValidator

  • java.lang.Object
    • java.security.cert.CertPathValidator

public class CertPathValidator
extends Object

Класс для валидации цепочек сертификатов (также известных как сертификатные цепи).

Этот класс использует архитектуру, основанную на поставщиках. Для создания объекта CertPathValidator, вызовите один из статических getInstance методов, передав имя алгоритма CertPathValidator и, необязательно, имя желаемого поставщика.

После создания объекта CertPathValidator, он может быть использован для валидации сертификатных цепочек, вызвав метод validate и передав ему CertPath для проверки и набор параметров, специфичных для алгоритма. В случае успеха, результат возвращается в объекте, реализующем интерфейс CertPathValidatorResult.

Метод getRevocationChecker() позволяет приложению указать дополнительные параметры и опции, специфичные для алгоритма, используемые при проверке статуса отзыва сертификатов методом CertPathValidator. Ниже пример демонстрирует его использование с алгоритмом PKIX:

CertPathValidator cpv = CertPathValidator.getInstance("PKIX");
 PKIXRevocationChecker rc = (PKIXRevocationChecker)cpv.getRevocationChecker();
 rc.setOptions(EnumSet.of(Option.SOFT_FAIL));
 params.addCertPathChecker(rc);
 CertPathValidatorResult cpvr = cpv.validate(path, params);

Каждая реализация платформы Java обязана поддерживать следующие стандартные CertPathValidator алгоритмы:

  • PKIX
Этот алгоритм описан в разделе CertPathValidator документации по стандартным именам алгоритмов Java Cryptography Architecture. Обратитесь к документации выпуска вашей реализации, чтобы узнать, какие другие алгоритмы поддерживаются.

Доступность из нескольких потоков

Статические методы этого класса гарантированно потокобезопасны. Несколько потоков могут одновременно вызывать статические методы, определенные в этом классе, без каких-либо негативных последствий.

Однако это не относится к методам, не являющимся статическими, определённым в этом классе. Если не указано иным образом конкретным поставщиком, потоки, которым требуется одновременный доступ к одному экземпляру CertPathValidator объекта, должны синхронизироваться между собой и обеспечить необходимые блокировки. Несколько потоков, каждый из которых манипулирует разными экземплярами CertPathValidator, не нуждаются в синхронизации.

Since:
1.4
См. также:
CertPath

Конструкторы

Модификатор Конструктор и описание
protected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)

Создаёт объект CertPathValidator данного алгоритма и инкапсулирует заданную реализацию поставщика (объект SPI) в нём.

Методы

Модификатор и тип Метод и описание
String getAlgorithm()

Возвращает имя алгоритма данного объекта CertPathValidator.

static String getDefaultType()

Возвращает тип по умолчанию CertPathValidator , как указано в свойстве безопасности certpathvalidator.type, или строку "PKIX", если такое свойство не существует.

static CertPathValidator getInstance(String algorithm)

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

static CertPathValidator getInstance(String algorithm, Provider provider)

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

static CertPathValidator getInstance(String algorithm, String provider)

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

Provider getProvider()

Возвращает Provider этого CertPathValidator.

CertPathChecker getRevocationChecker()

Возвращает CertPathChecker объект, который используется инкапсулированной реализацией CertPathValidatorSpi для проверки статуса отзыва сертификатов.

CertPathValidatorResult validate(CertPath certPath, CertPathParameters params)

Проверяет указанную цепочку сертификатов с использованием указанного алгоритма и набора параметров.

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

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

Конструкторы

CertPathValidator

protected CertPathValidator(CertPathValidatorSpi validatorSpi,
                            Provider provider,
                            String algorithm)

Создаёт объект CertPathValidator заданного алгоритма и инкапсулирует в него предоставленное реализацию провайдера (объект SPI).

Параметры:
validatorSpi - реализация провайдера
provider - провайдер
algorithm - имя алгоритма

Методы

getInstance

public static CertPathValidator getInstance(String algorithm)
                                     throws NoSuchAlgorithmException

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

Этот метод обходит список зарегистрированных провайдеров безопасности, начиная с наиболее предпочтительного. Возвращается новый объект CertPathValidator, инкапсулирующий реализацию CertPathValidatorSpi из первого провайдера, поддерживающего указанный алгоритм.

Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().

Параметры:
algorithm - имя запрашиваемого алгоритма CertPathValidator. Сведения о стандартных именах алгоритмов см. в разделе CertPathValidator документации Java Cryptography Architecture Standard Algorithm Name в Java Cryptography Architecture Standard Algorithm Name Documentation.
Возвращает:
объект CertPathValidator, реализующий указанный алгоритм.
Исключения:
NoSuchAlgorithmException - если ни один провайдер не поддерживает реализацию CertPathValidatorSpi для указанного алгоритма.
См. также:
Provider

getInstance

public static CertPathValidator getInstance(String algorithm,
                                            String provider)
                                     throws NoSuchAlgorithmException,
                                            NoSuchProviderException

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

Возвращается новый объект CertPathValidator, инкапсулирующий реализацию CertPathValidatorSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке провайдеров безопасности.

Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().

Параметры:
algorithm - имя запрашиваемого алгоритма CertPathValidator. Сведения о стандартных именах алгоритмов см. в разделе CertPathValidator документации Java Cryptography Architecture Standard Algorithm Name в Java Cryptography Architecture Standard Algorithm Name Documentation.
provider - имя провайдера.
Возвращает:
объект CertPathValidator, реализующий указанный алгоритм.
Исключения:
NoSuchAlgorithmException - если реализация CertPathValidatorSpi для указанного алгоритма недоступна от указанного провайдера.
NoSuchProviderException - если указанный провайдер не зарегистрирован в списке провайдеров безопасности.
IllegalArgumentException - если указанное имя провайдера null или пустое.
См. также:
Provider

getInstance

public static CertPathValidator getInstance(String algorithm,
                                            Provider provider)
                                     throws NoSuchAlgorithmException

Возвращает объект CertPathValidator, реализующий указанный алгоритм.

Возвращается новый объект CertPathValidator, инкапсулирующий реализацию CertPathValidatorSpi от указанного объекта провайдера. Обратите внимание, что указанный объект провайдера не обязательно должен быть зарегистрирован в списке провайдеров.

Параметры:
algorithm - имя запрашиваемого алгоритма CertPathValidator. Сведения о стандартных именах алгоритмов см. в разделе CertPathValidator документации Java Cryptography Architecture Standard Algorithm Name в Java Cryptography Architecture Standard Algorithm Name Documentation.
provider - провайдер.
Возвращает:
объект CertPathValidator, реализующий указанный алгоритм.
Исключения:
NoSuchAlgorithmException - если реализация CertPathValidatorSpi для указанного алгоритма недоступна от указанного объекта провайдера.
IllegalArgumentException - если указанный провайдер null.
См. также:
Provider

getProvider

public final Provider getProvider()

Возвращает Provider этого CertPathValidator.

Возвращает:
Provider этого CertPathValidator.

getAlgorithm

public final String getAlgorithm()

Возвращает имя алгоритма этого CertPathValidator.

Возвращает:
имя алгоритма этого CertPathValidator.

validate

public final CertPathValidatorResult validate(CertPath certPath,
                                              CertPathParameters params)
                                       throws CertPathValidatorException,
                                              InvalidAlgorithmParameterException

Проверяет указанный сертификационный путь, используя указанный набор параметров алгоритма.

Указанный CertPath должен быть типа, поддерживаемого алгоритмом проверки, в противном случае будет выброшено исключение InvalidAlgorithmParameterException. Например, CertPathValidator, реализующий алгоритм PKIX, проверяет объекты CertPath типа X.509.

Параметры:
certPath - путь сертификата для проверки
params - параметры алгоритма
Возвращает:
результат алгоритма проверки
Исключения:
CertPathValidatorException - если CertPath не проходит проверку
InvalidAlgorithmParameterException - если указанные параметры или тип указанного CertPath неподходящи для данного CertPathValidator

getDefaultType

public static final String getDefaultType()

Возвращает тип по умолчанию CertPathValidator, как указано в свойстве безопасности certpathvalidator.type, или строку "PKIX", если такого свойства нет.

Тип по умолчанию CertPathValidator может использоваться приложениями, которые не хотят использовать жёстко закодированный тип при вызове одного из методов getInstance, и хотят предоставить тип по умолчанию в случае, если пользователь не указывает свой собственный.

Тип по умолчанию CertPathValidator может быть изменён путём установки значения свойства безопасности certpathvalidator.type на желаемый тип.

Возвращает:
тип по умолчанию CertPathValidator, как указано в свойстве безопасности certpathvalidator.type, или строку "PKIX", если такого свойства нет.
См. также:
security properties

getRevocationChecker

public final CertPathChecker getRevocationChecker()

Возвращает CertPathChecker, который использует реализация CertPathValidatorSpi для проверки статуса отзыва сертификатов. Реализация PKIX возвращает объекты типа PKIXRevocationChecker. Каждый вызов этого метода возвращает новый экземпляр CertPathChecker.

Основная цель этого метода — позволить вызывающим сторонам указывать дополнительные входные параметры и параметры, специфичные для проверки отзыва. См. описание класса для примера.

Возвращает:
CertPathChecker
Исключения:
UnsupportedOperationException - если поставщик сервиса не поддерживает этот метод
С момента:
1.8

© 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