- 所有已实现的接口:
Cloneable,CertPathChecker
- 已知子类:
PKIXRevocationChecker
X509Certificate 执行一项或多项检查的抽象类。
可以创建 PKIXCertPathChecker 类的具体实现来扩展 PKIX 证书路径验证算法。例如,一个实现可以检查并处理证书路径中每个证书的关键私有扩展。
PKIXCertPathChecker 的实例作为参数使用 PKIXParameters 和 PKIXBuilderParameters 类的 setCertPathCheckers 或 addCertPathChecker 方法传递。对于由 PKIX CertPathValidator 或 CertPathBuilder 实现处理的每个证书,将依次调用 PKIXCertPathChecker 和 check 方法中的每一个。
PKIXCertPathChecker 可能会在证书路径中的连续证书上被多次调用。具体子类应维护检查连续证书可能需要的任何内部状态。 init 方法用于初始化检查器的内部状态,以便可以检查新证书路径的证书。有状态的实现必须如有必要,覆盖 clone 方法,以允许 PKIX CertPathBuilder 有效地回溯并尝试其他路径。在这些情况下,CertPathBuilder 能够通过恢复克隆的 PKIXCertPathChecker s 来恢复之前的路径验证状态。
向 PKIXCertPathChecker 提供证书的顺序可以是正向(从目标到最受信任的 CA)或反向(从最受信任的 CA 到目标)。一个PKIXCertPathChecker实现必须支持反向检查(在反向证书出现时执行检查的能力)和可能支持前向检查(当在前向方向上提供证书时执行检查的能力)。 isForwardCheckingSupported 方法指示是否支持前向检查。
执行检查所需的附加输入参数可以通过此类具体实现的构造方法指定。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。需要同时访问单个对象的多个线程应该在它们之间同步并提供必要的锁定。每个操作单独对象的多个线程不需要同步。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述voidcheck(Certificate cert) 使用其内部状态对指定证书执行检查。abstract voidcheck(Certificate cert, Collection<String> unresolvedCritExts) 使用其内部状态对指定证书执行检查,并从表示未解析的关键扩展的指定 OID 字符串集合中删除它处理的任何关键扩展。clone()返回此对象的克隆。返回此PKIXCertPathChecker支持(即识别、能够处理)的 X.509 证书扩展的不可变Set,如果不支持扩展,则返回null。abstract voidinit(boolean forward) 初始化此PKIXCertPathChecker的内部状态。abstract boolean指示是否支持前向检查。
-
构造方法详细信息
-
PKIXCertPathChecker
protected PKIXCertPathChecker()默认构造方法。
-
-
方法详情
-
init
初始化此PKIXCertPathChecker的内部状态。forward标志指定将证书传递给check方法的顺序(正向或反向)。一个PKIXCertPathChecker必须支持反向检查和可能支持前向检查。- 指定者:
init在接口CertPathChecker中- 参数:
forward- 证书提交给check方法的顺序。如果true,证书从目标提交给最受信任的 CA(转发);如果false,从最受信任的 CA 到目标(反向)。- 抛出:
CertPathValidatorException- 如果此PKIXCertPathChecker无法按指定顺序检查证书;如果前向标志为假,则永远不应抛出它,因为必须支持反向检查
-
isForwardCheckingSupported
public abstract boolean isForwardCheckingSupported()指示是否支持前向检查。前向检查是指PKIXCertPathChecker在正向(从目标到最受信任的 CA)上将证书提交给check方法时执行其检查的能力。- 指定者:
isForwardCheckingSupported在接口CertPathChecker中- 返回:
true如果支持前向检查,false否则
-
getSupportedExtensions
返回此PKIXCertPathChecker支持(即识别、能够处理)的 X.509 证书扩展的不可变Set,如果不支持扩展,则返回null。该集合的每个元素都是一个
String,表示受支持的 X.509 扩展的对象标识符 (OID)。 OID 由一组由句点分隔的非负整数表示。PKIXCertPathChecker可能能够处理的所有 X.509 证书扩展都应包含在该集中。- 返回:
-
此
PKIXCertPathChecker支持的 X.509 扩展 OID 的不可变Set(格式为String),如果不支持扩展,则为null
-
check
public abstract void check(Certificate cert, Collection <String > unresolvedCritExts) throws CertPathValidatorException 使用其内部状态对指定证书执行检查,并从表示未解析的关键扩展的指定 OID 字符串集合中删除它处理的任何关键扩展。证书按init方法指定的顺序显示。- 参数:
cert- 要检查的CertificateunresolvedCritExts- 一个Collection的 OID 字符串,表示当前未解析的关键扩展集- 抛出:
CertPathValidatorException- 如果指定的证书没有通过检查
-
check
使用其内部状态对指定证书执行检查。证书按init方法指定的顺序显示。此实现调用
check(cert, java.util.Collections.<String>emptySet())。- 指定者:
check在接口CertPathChecker中- 参数:
cert- 要检查的Certificate- 抛出:
CertPathValidatorException- 如果指定的证书没有通过检查
-
clone
返回此对象的克隆。调用Object.clone()方法。如有必要,所有维护状态的子类都必须支持并覆盖此方法。
-