Most visited

Recently visited

Added in API level 1

PKIXCertPathChecker

public abstract class PKIXCertPathChecker
extends Object implements CertPathChecker, Cloneable

java.lang.Object
   ↳ java.security.cert.PKIXCertPathChecker
Known Direct Subclasses


抽象类,对 X509Certificate执行一个或多个检查。

可以创建PKIXCertPathChecker类的具体实现来扩展PKIX认证路径验证算法。 例如,实施可以检查并处理证书路径中每个证书的关键私有扩展。

使用PKIXParametersPKIXBuilderParameters类的setCertPathCheckersaddCertPathChecker方法将实例PKIXCertPathChecker作为参数传递。 对于由PKIX CertPathValidatorCertPathBuilder实现处理的每个证书,将依次调用每个PKIXCertPathCheckercheck方法。

一个PKIXCertPathChecker可能会在证书路径中的连续证书上被多次调用。 预计具体子类将维持检查连续证书所需的任何内部状态。 init方法用于初始化检查器的内部状态,以便可以检查新证书路径的证书。 如有必要,有状态的实现必须覆盖clone方法,以便允许PKIX CertPathBuilder高效地回溯并尝试其他路径。 在这些情况下, CertPathBuilder可以通过恢复克隆的PKIXCertPathChecker来恢复先前的路径验证状态。

证书颁发给PKIXCertPathChecker可以是正向(从目标到最受信任的CA),也可以是反向(从最受信任的CA到目标)。 一个PKIXCertPathChecker实现必须支持反向检查(当它向相反方向提交证书时执行检查的能力),并且可能支持前向检查(当向前提供证书时执行检查的能力)。 isForwardCheckingSupported方法指示是否支持前向检查。

执行检查所需的其他输入参数可以通过该类的具体实现的构造函数来指定。

并发访问

除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应该自己同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。

也可以看看:

Summary

Protected constructors

PKIXCertPathChecker()

默认的构造函数。

Public methods

void check(Certificate cert)

使用其内部状态对指定证书执行检查。

这个实现调用 check(cert, java.util.Collections.<String>emptySet())

abstract void check(Certificate cert, Collection<String> unresolvedCritExts)

使用其内部状态对指定证书执行检查,并从指定的代表未解决关键扩展的OID字符串集合中删除它处理的所有关键扩展。

Object clone()

返回此对象的一个克隆。

abstract Set<String> getSupportedExtensions()

返回此 PKIXCertPathChecker支持的X.509证书扩展的不可变 Set (即

abstract void init(boolean forward)

初始化此 PKIXCertPathChecker的内部状态。

abstract boolean isForwardCheckingSupported()

指示是否支持转发检查。

Inherited methods

From class java.lang.Object
From interface java.security.cert.CertPathChecker

Protected constructors

PKIXCertPathChecker

Added in API level 1
PKIXCertPathChecker ()

默认的构造函数。

Public methods

check

Added in API level 24
void check (Certificate cert)

使用其内部状态对指定证书执行检查。 证书按照init方法指定的顺序init

该实现调用 check(cert, java.util.Collections.<String>emptySet())

Parameters
cert Certificate: the Certificate to be checked
Throws
CertPathValidatorException

check

Added in API level 1
void check (Certificate cert, 
                Collection<String> unresolvedCritExts)

使用其内部状态对指定证书执行检查,并从指定的代表未解决关键扩展的OID字符串集合中删除它处理的所有关键扩展。 证书按照init方法指定的顺序init

Parameters
cert Certificate: the Certificate to be checked
unresolvedCritExts Collection: a Collection of OID strings representing the current set of unresolved critical extensions
Throws
CertPathValidatorException if the specified certificate does not pass the check

clone

Added in API level 1
Object clone ()

返回此对象的一个克隆。 调用Object.clone()方法。 如有必要,维护状态的所有子类必须支持并覆盖此方法。

Returns
Object a copy of this PKIXCertPathChecker

getSupportedExtensions

Added in API level 1
Set<String> getSupportedExtensions ()

返回 PKIXCertPathChecker支持(即识别,能够处理)的X.509证书扩展的不可变 Set ;如果不支持扩展,则 null

该集合中的每个元素String代表支持的X.509扩展的对象标识符(OID)的String OID由一组以句点分隔的非负整数表示。

PKIXCertPathChecker可能可以处理的所有X.509证书扩展应该包含在该集合中。

Returns
Set<String> an immutable Set of X.509 extension OIDs (in String format) supported by this PKIXCertPathChecker, or null if no extensions are supported

init

Added in API level 1
void init (boolean forward)

初始化此 PKIXCertPathChecker的内部状态。

forward标志指定证书将传递给check方法(正向或反向)的顺序。 一个PKIXCertPathChecker 必须支持反向检查,并且可能支持前向检查。

Parameters
forward boolean: the order that certificates are presented to the check method. If true, certificates are presented from target to most-trusted CA (forward); if false, from most-trusted CA to target (reverse).
Throws
CertPathValidatorException if this PKIXCertPathChecker is unable to check certificates in the specified order; it should never be thrown if the forward flag is false since reverse checking must be supported

isForwardCheckingSupported

Added in API level 1
boolean isForwardCheckingSupported ()

指示是否支持转发检查。 前向检查是指当证书以正向(从目标到最受信任的CA)呈现给check方法时, PKIXCertPathChecker执行其检查的能力。

Returns
boolean true if forward checking is supported, false otherwise

Hooray!