public abstract class PKIXCertPathChecker extends Object implements CertPathChecker, Cloneable
X509Certificate
执行一个或多个检查。
PKIXCertPathChecker
类的具体实现可以创建扩展PKIX证书路径验证算法。例如,一个实现可以检查和处理证书路径中的每个证书的一个关键的私有扩展。
实例PKIXCertPathChecker
是作为参数传递使用setCertPathCheckers
或addCertPathChecker
方法的PKIXParameters
和PKIXBuilderParameters
类。每个的PKIXCertPathChecker
s check
方法会被调用,反过来,每个证书的处理由PKIX CertPathValidator
或CertPathBuilder
实施。
一个PKIXCertPathChecker
可以多次调用在一个连续的证书认证路径。具体的子类,预计将保持任何内部状态,可能是必要的,以检查连续的证书。的init
方法用于初始化检查程序的内部状态,一个新的证书路径的证书可以检查。有状态的实现必须重写clone
方法必要时为了让PKIX CertPathBuilder
有效回溯并尝试其他路径。在这些情况下,该CertPathBuilder
能够恢复克隆PKIXCertPathChecker
s恢复以前的路径验证状态。
为了在该证书提交给PKIXCertPathChecker
可以在向前的方向(从目标到最受信任的CA)或在相反的方向(从最受信任的CA的目标)。一个PKIXCertPathChecker
实施必须支持反查(执行检查的能力时,出现在相反的方向的证书)和可以支持正向检查(执行检查的能力当它是在前进方向的证书)。的isForwardCheckingSupported
方法指示检查支持。
执行检查所需的附加输入参数可以通过该类的具体实现的构造函数来指定。
并发访问
除非另有说明,在这个类中定义的方法不是线程安全的。需要访问一个单一对象的多个线程同时应同步,并提供必要的锁。多线程每个操作单独的对象不需要同步。
PKIXParameters
,
PKIXBuilderParameters
Modifier | Constructor and Description |
---|---|
protected |
PKIXCertPathChecker()
默认构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
check(Certificate cert)
使用其内部状态在指定的证书上执行检查(s)。
|
abstract void |
check(Certificate cert, Collection<String> unresolvedCritExts)
执行检查(S)在指定的证书使用其内部状态和删除任何重要的扩展,它处理从指定集合的OID字符串表示的悬而未决的关键扩展。
|
Object |
clone()
返回此对象的克隆。
|
abstract Set<String> |
getSupportedExtensions()
返回一个不可变的X.509证书的扩展,这
PKIXCertPathChecker 支持
Set (即
|
abstract void |
init(boolean forward)
这
PKIXCertPathChecker 内部状态初始化。
|
abstract boolean |
isForwardCheckingSupported()
表示支持向前检查。
|
public abstract void init(boolean forward) throws CertPathValidatorException
PKIXCertPathChecker
初始化内部状态。
的forward
标志指定的证书将被传递到check
顺序的方法(正向或反向)。一个PKIXCertPathChecker
必须支持反查可以支持正向检查。
init
接口
CertPathChecker
forward
-证书提交给
check
顺序的方法。如果
true
,证明是从目标到最受信任的CA(向前);如果
false
,从最信任的CA的目标(反向)。
CertPathValidatorException
-如果这
PKIXCertPathChecker
无法检查指定的证书;它不应该是如果远期标志为假,由于逆向检查必须支持扔
public abstract boolean isForwardCheckingSupported()
PKIXCertPathChecker
能力履行检查时证书是在向前的方向呈现给
check
方法(从目标到最受信任的CA)。
isForwardCheckingSupported
接口
CertPathChecker
true
如果检查支持,
false
否则
public abstract Set<String> getSupportedExtensions()
PKIXCertPathChecker
支持
Set
(即承认,能够处理),或
null
如果没有扩展支持。
集合中的每个元素是一个String
表示对象标识符(OID)的扩展,支持X.509。OID是由一组非负整数代表分离的时期。
所有的X.509证书的扩展,一个PKIXCertPathChecker
可能能够过程中应包含的设置。
Set
(在
String
格式)的
PKIXCertPathChecker
支持,或
null
如果没有扩展支持
public abstract void check(Certificate cert, Collection<String> unresolvedCritExts) throws CertPathValidatorException
init
方法中指定的顺序。
cert
-
Certificate
进行检查
unresolvedCritExts
-
Collection
OID的字符串表示尚未解决的关键扩展当前设置
CertPathValidatorException
-如果指定的证书没有通过检查
public void check(Certificate cert) throws CertPathValidatorException
init
方法中指定的顺序。
这要求执行check(cert, java.util.Collections.<String>emptySet())
。
check
接口
CertPathChecker
cert
-
Certificate
进行检查
CertPathValidatorException
-如果指定的证书没有通过检查
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.