Класс PKIXCertPathChecker
- Все реализуемые интерфейсы:
Cloneable, CertPathChecker
- Прямые известные подклассы:
PKIXRevocationChecker
public abstract class PKIXCertPathChecker extends Object implements CertPathChecker, Cloneable
X509Certificate. Для расширения алгоритма проверки пути сертификации PKIX можно создать конкретную реализацию класса PKIXCertPathChecker. Например, реализация может проверять и обрабатывать критическое частное расширение каждого сертификата в пути сертификации.
Экземпляры PKIXCertPathChecker передаются в качестве параметров с помощью методов setCertPathCheckers или addCertPathChecker класса PKIXParameters и класса PKIXBuilderParameters. Методы check каждого PKIXCertPathChecker вызываются по очереди для каждого сертификата, обрабатываемого реализацией 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 |
getSupportedExtensions() |
Возвращает неизменяемый Set расширений сертификатов X.509, которые поддерживаются (то есть распознаются и могут обрабатываться) этим PKIXCertPathChecker, или null, если расширения не поддерживаются. |
abstract void |
init |
Инициализирует внутреннее состояние этого PKIXCertPathChecker. |
abstract boolean |
isForwardCheckingSupported() |
Указывает, поддерживается ли прямая проверка. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
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.