Класс PKIXCertPathChecker
- java.lang.Object
-
- java.security.cert.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, если это необходимо, чтобы позволить реализации PKIX CertPathBuilder эффективно возвращаться назад и пробовать другие пути. В этих ситуациях CertPathBuilder может восстановить предыдущие состояния проверки пути, восстанавливая клонированные PKIXCertPathCheckerы.
Порядок представления сертификатов проверяющему PKIXCertPathChecker может быть либо в прямом направлении (от целевого сертификата к наиболее доверенному удостоверяющему центру) либо в обратном направлении (от наиболее доверенного удостоверяющего центра к целевому сертификату). Реализация PKIXCertPathChecker обязана поддерживать обратную проверку (возможность выполнения проверок, когда сертификаты представлены в обратном направлении) и может поддерживать прямую проверку (возможность выполнения проверок, когда сертификаты представлены в прямом направлении). Метод isForwardCheckingSupported указывает, поддерживается ли прямая проверка.
Дополнительные входные параметры, необходимые для выполнения проверки, могут быть указаны через конструкторы конкретных реализаций этого класса.
Доступ к данным из нескольких потоков
Если не указано иное, методы, определенные в этом классе, не потокобезопасны. Несколько потоков, которым необходимо одновременно получить доступ к одному объекту, должны синхронизироваться друг с другом и предоставить необходимые блокировки. Несколько потоков, которые манипулируют разными объектами, не нуждаются в синхронизации.
- C момента:
- 1.4
- См. также:
-
PKIXParameters,PKIXBuilderParameters
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
PKIXCertPathChecker() Конструктор по умолчанию. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
check(Certificate cert) Выполняет проверку(и) на указанном сертификате, используя его внутреннее состояние. |
abstract void |
check(Certificate cert,
Collection<String> unresolvedCritExts) Выполняет проверку(и) на указанном сертификате, используя его внутреннее состояние, и удаляет все критические расширения, которые он обрабатывает, из указанного набора строк OID, представляющих неразрешенные критические расширения. |
Object |
clone() Возвращает клон этого объекта. |
abstract Set<String> |
getSupportedExtensions() Возвращает неизменяемый набор расширений сертификатов X.509, которые поддерживает этот |
abstract void |
init(boolean forward) Инициализирует внутреннее состояние этого |
abstract boolean |
isForwardCheckingSupported() Указывает, поддерживается ли прямая проверка. |
Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
PKIXCertPathChecker
protected PKIXCertPathChecker()
Конструктор по умолчанию.
Методы
init
public abstract void init(boolean forward)
throws CertPathValidatorException Инициализирует внутреннее состояние этого PKIXCertPathChecker.
Флаг forward указывает порядок, в котором сертификаты будут передаваться методу check (прямой или обратный). PKIXCertPathChecker обязан поддерживать обратную проверку и может поддерживать прямую проверку.
- Указано в:
-
initв интерфейсеCertPathChecker - Параметры:
-
forward- порядок представления сертификатов методуcheck. Еслиtrue, сертификаты представляются от целевого к наиболее доверенному удостоверяющему центру (прямой); еслиfalse, от наиболее доверенного удостоверяющего центра к целевому (обратный). - Исключения:
-
CertPathValidatorException- если этотPKIXCertPathCheckerне может проверить сертификаты в указанном порядке; он никогда не должен выбрасываться, если флаг forward false, так как обратная проверка должна поддерживаться
isForwardCheckingSupported
public abstract boolean isForwardCheckingSupported()
Указывает, поддерживается ли прямая проверка. Прямая проверка относится к возможности PKIXCertPathChecker выполнять свои проверки, когда сертификаты передаются методу check в прямом направлении (от целевого к наиболее доверенному удостоверяющему центру).
- Указано в:
-
isForwardCheckingSupportedв интерфейсеCertPathChecker - Возвращает:
-
trueесли прямая проверка поддерживается,falseв противном случае
getSupportedExtensions
public abstract Set<String> getSupportedExtensions()
Возвращает неизменяемый набор расширений сертификатов X.509, которые поддерживает этот PKIXCertPathChecker (т.е. распознает, способен обработать), или null если расширения не поддерживаются.
Каждый элемент набора — это String , представляющий собой идентификатор объекта (OID) расширения X.509, который поддерживается. OID представлен набором неотрицательных целых чисел, разделенных точками.
Все расширения сертификатов X.509, которые PKIXCertPathChecker может, возможно, обработать, должны быть включены в набор.
- Возвращает:
- неизменяемый набор OID расширений X.509 (в формате
String), поддерживаемых этимPKIXCertPathChecker, илиnullесли расширения не поддерживаются
check
public abstract void check(Certificate cert,
Collection<String> unresolvedCritExts)
throws CertPathValidatorException Выполняет проверку(и) на указанном сертификате, используя его внутреннее состояние, и удаляет все критические расширения, которые он обрабатывает, из указанного набора строк OID, представляющих неразрешенные критические расширения. Сертификаты представляются в порядке, указанном методом 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(). Все подклассы, которые сохраняют состояние, должны поддерживать и переопределять этот метод, если это необходимо.
© 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.