Класс PKIXCertPathChecker
- Все реализуемые интерфейсы:
Cloneable, CertPathChecker
- Прямые известные подклассы:
PKIXRevocationChecker
public abstract class PKIXCertPathChecker extends Object implements CertPathChecker, Cloneable
X509Certificate. Конкретную реализацию класса PKIXCertPathChecker можно создать для расширения алгоритма проверки пути сертификации PKIX. Например, реализация может проверять и обрабатывать критическое частное расширение каждого сертификата в пути сертификации.
Экземпляры PKIXCertPathChecker передаются в качестве параметров с помощью методов setCertPathCheckers или addCertPathChecker класса PKIXParameters и класса PKIXBuilderParameters. Методы check каждого PKIXCertPathChecker вызываются по очереди для каждого сертификата, обрабатываемого реализацией PKIX CertPathValidator или CertPathBuilder.
Метод PKIXCertPathChecker может вызываться для нескольких последовательных сертификатов в пути сертификации. Предполагается, что конкретные подклассы поддерживают любое внутреннее состояние, необходимое для проверки последовательных сертификатов. Метод init используется для инициализации внутреннего состояния средства проверки, чтобы можно было проверять сертификаты нового пути сертификации. Реализация с состоянием должна при необходимости переопределять метод clone, чтобы средство CertPathBuilder могло эффективно возвращаться назад и пробовать другие пути. В таких случаях CertPathBuilder может восстановить предыдущее состояние проверки пути, восстановив клонированные объекты PKIXCertPathChecker.
Сертификаты могут передаваться в PKIXCertPathChecker как в прямом порядке (от целевого сертификата к наиболее доверенному центру сертификации), так и в обратном порядке (от наиболее доверенного центра сертификации к целевому сертификату). Реализация PKIXCertPathChecker должна поддерживать обратную проверку (возможность выполнять проверки при передаче сертификатов в обратном порядке) и может поддерживать прямую проверку (возможность выполнять проверки при передаче сертификатов в прямом порядке). Метод isForwardCheckingSupported указывает, поддерживается ли прямая проверка.
Дополнительные входные параметры, необходимые для выполнения проверки, могут задаваться в конструкторах конкретных реализаций этого класса.
Параллельный доступ
Если не указано иное, методы, определённые в этом классе, не являются потокобезопасными. Несколько потоков, которым требуется одновременный доступ к одному объекту, должны самостоятельно синхронизировать доступ и обеспечивать необходимую блокировку. Потокам, каждый из которых работает с отдельным объектом, синхронизация не требуется.
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
check |
Выполняет проверку(и) указанного сертификата, используя внутреннее состояние. |
abstract void |
check |
Выполняет проверку(и) указанного сертификата, используя внутреннее состояние, и удаляет все обработанные им критические расширения из указанной коллекции строк OID, представляющих неразрешённые критические расширения. |
Object |
clone() |
Возвращает клон этого объекта. |
abstract Set |
getSupportedExtensions() |
Возвращает неизменяемый Set расширений сертификатов X.509, которые поддерживаются этим PKIXCertPathChecker (то есть распознаются и могут обрабатываться), или null, если расширения не поддерживаются. |
abstract void |
init |
Инициализирует внутреннее состояние этого PKIXCertPathChecker. |
abstract boolean |
isForwardCheckingSupported() |
Указывает, поддерживается ли прямая проверка. |
Подробное описание конструкторов
PKIXCertPathChecker
protected PKIXCertPathChecker()
Подробное описание методов
init
public abstract void init(boolean forward) throws CertPathValidatorException
PKIXCertPathChecker. Флаг forward задаёт порядок передачи сертификатов методу check (прямой или обратный). PKIXCertPathChecker должен поддерживать обратную проверку и может поддерживать прямую проверку.
- Указано в:
-
initв интерфейсеCertPathChecker - Параметры:
-
forward— порядок передачи сертификатов методуcheck. Еслиtrue, сертификаты передаются от целевого сертификата к наиболее доверенному центру сертификации (прямой порядок); еслиfalse— от наиболее доверенного центра сертификации к целевому сертификату (обратный порядок). - Исключения:
-
CertPathValidatorException— если этотPKIXCertPathCheckerне может проверять сертификаты в указанном порядке; это исключение никогда не должно выбрасываться, если флаг прямого порядка имеет значение false, поскольку обратная проверка должна поддерживаться
isForwardCheckingSupported
public abstract boolean isForwardCheckingSupported()
PKIXCertPathChecker выполнять проверки, когда сертификаты передаются методу check в прямом порядке (от целевого сертификата к наиболее доверенному центру сертификации).- Указано в:
-
isForwardCheckingSupportedв интерфейсеCertPathChecker - Возвращает:
-
true, если прямая проверка поддерживается; в противном случае —false
getSupportedExtensions
public abstract Set<String> getSupportedExtensions()
Set расширений сертификатов X.509, которые поддерживаются этим PKIXCertPathChecker (то есть распознаются и могут обрабатываться), или null, если расширения не поддерживаются. Каждый элемент набора — это String, представляющий идентификатор объекта (OID) поддерживаемого расширения X.509. OID представлен набором неотрицательных целых чисел, разделённых точками.
В набор следует включить все расширения сертификатов X.509, которые PKIXCertPathChecker потенциально может обрабатывать.
- Возвращает:
- неизменяемый
SetOID расширений X.509 (в форматеString), поддерживаемых этимPKIXCertPathChecker, илиnull, если расширения не поддерживаются
check
public abstract void check(Certificate cert, Collection<String> unresolvedCritExts) throws CertPathValidatorException
init.- Параметры:
-
cert—Certificate, подлежащий проверке -
unresolvedCritExts—Collectionстрок OID, представляющих текущий набор неразрешённых критических расширений - Исключения:
-
CertPathValidatorException— если указанный сертификат не прошёл проверку
check
public void check(Certificate cert) throws CertPathValidatorException
init. Эта реализация вызывает check(cert, java.util.Collections.<String>emptySet()).
- Указано в:
-
checkв интерфейсеCertPathChecker - Параметры:
-
cert—Certificate, подлежащий проверке - Исключения:
-
CertPathValidatorException— если указанный сертификат не прошёл проверку
clone
© 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/java/security/cert/PKIXCertPathChecker.html