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