Класс 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 будет вызываться по очереди для каждого обрабатываемого сертификата реализацией PKIX CertPathValidator или CertPathBuilder.
Класс PKIXCertPathChecker может вызываться несколько раз для последовательных сертификатов в сертификационном пути. Ожидается, что конкретные подклассы будут сохранять необходимую внутреннюю информацию для проверки последовательных сертификатов. Метод init используется для инициализации внутренней информации проверяющего, чтобы можно было проверять сертификаты нового сертификационного пути. Для реализации с состоянием обязательно переопределить метод clone, если это необходимо, чтобы позволить PKIX CertPathBuilder эффективно возвращаться назад и пробовать другие пути. В таких ситуациях CertPathBuilder может восстановить предыдущие состояния проверки пути, восстанавливая клонированные экземпляры PKIXCertPathChecker.
Порядок представления сертификатов проверяющему PKIXCertPathChecker может быть либо в прямом направлении (от целевого сертификата к наиболее доверенному ЦС) или в обратном направлении (от наиболее доверенного ЦС к целевому сертификату). Реализация PKIXCertPathChecker должна поддерживать обратную проверку (возможность выполнения проверок, когда ей представлены сертификаты в обратном направлении) и может поддерживать прямую проверку (возможность выполнения проверок, когда ей представлены сертификаты в прямом направлении). Метод isForwardCheckingSupported указывает, поддерживается ли прямая проверка.
Дополнительные входные параметры, необходимые для выполнения проверки, могут быть указаны в конструкторах конкретных реализаций этого класса.
Доступность из нескольких потоков
Если не указано иное, методы, определенные в этом классе, не потокобезопасны. Несколько потоков, которым необходимо получить доступ к одному объекту одновременно, должны синхронизироваться между собой и обеспечить необходимую блокировку. Несколько потоков, которые манипулируют различными объектами, синхронизацию не требуют.
- С момента:
- 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не может проверять сертификаты в указанном порядке; он никогда не должен выбрасываться, если флаг прямой проверки равен false, так как обратная проверка должна поддерживаться
isForwardCheckingSupported
public abstract boolean isForwardCheckingSupported()
Указывает, поддерживается ли прямая проверка. Прямая проверка означает возможность проверяющего PKIXCertPathChecker выполнять проверки, когда сертификаты представляются методу check в прямом направлении (от целевого к наиболее доверенному ЦС).
- Указано в:
-
isForwardCheckingSupportedв интерфейсеCertPathChecker - Возвращает:
-
trueесли прямая проверка поддерживается,falseв противном случае
getSupportedExtensions
public abstract Set<String> getSupportedExtensions()
Возвращает неизменяемый набор X.509 расширений сертификатов, которые поддерживает (т. е. распознает, способен обработать) этот проверяющий, или 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/PKIXCertPathChecker.html