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