Класс 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()

Конструктор по умолчанию.

Методы

Модификатор и типМетодОписание
voidcheck​(Certificate cert)

Выполняет проверку(и) для указанного сертификата, используя его внутреннее состояние.

abstract voidcheck​(Certificate cert, Collection<String> unresolvedCritExts)

Выполняет проверку(и) для указанного сертификата, используя его внутреннее состояние, и удаляет любые критические расширения, которые он обрабатывает, из указанного набора строк OID, представляющих неразрешенные критические расширения.

Objectclone()

Возвращает клон этого объекта.

abstract Set<String>getSupportedExtensions()

Возвращает неизменяемый набор X.509 расширений сертификатов, которые поддерживает (т. е. распознает, способен обработать) этот проверяющий, или null, если не поддерживаются никакие расширения.

abstract voidinit​(boolean forward)

Инициализирует внутреннее состояние этого проверяющего.

abstract booleanisForwardCheckingSupported()

Указывает, поддерживается ли прямая проверка.

Методы, объявленные в классе 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() . Все подклассы, которые сохраняют состояние, должны поддерживать и переопределять этот метод, если это необходимо.

Переопределяет:
clone в классе Object
Возвращает:
копию этого PKIXCertPathChecker
См. также:
Cloneable

© 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

Spec-Zone .ru
спецификации, руководства, описания, API