public abstract class PKIXRevocationChecker extends PKIXCertPathChecker
PKIXCertPathChecker
用于使用PKIX算法检查证书的撤销状态。
A PKIXRevocationChecker
使用在线证书状态协议(OCSP)或证书吊销列表(CRL) PKIXRevocationChecker
检查证书的撤销状态。 OCSP在RFC 2560中描述,并且是用于确定证书状态的网络协议。 CRL是标识撤销证书的时间戳列表,RFC 5280描述了一种使用CRL确定证书撤销状态的算法。
每个PKIXRevocationChecker
必须能够使用OCSP和CRL来检查证书的撤销状态。 默认情况下,OCSP是检查撤销状态的首选机制,CRL作为备用机制。 但是,可以使用PREFER_CRLS
选项将此首选项切换到CRL。 此外,可以使用NO_FALLBACK
选项禁用后备机制。
A PKIXRevocationChecker
是通过调用PKIX CertPathValidator
的getRevocationChecker
方法获得的。 可以设置特定于吊销的附加参数和选项(例如通过调用setOcspResponder
方法)。 使用addCertPathChecker
或setCertPathCheckers
方法将PKIXRevocationChecker
添加到PKIXParameters
对象中,然后将PKIXParameters
与CertPath
一起传递给PKIX CertPathValidator
的validate
方法。 当以这种方式提供吊销检查员时,它将用于检查撤销,而不考虑RevocationEnabled
标志的设置。 类似地,可以将PKIXRevocationChecker
添加到用于PKIX CertPathBuilder
的PKIXBuilderParameters
对象中。
请注意,当PKIXRevocationChecker
添加到PKIXParameters
时,它克隆了PKIXRevocationChecker
; 因此任何后续修改到PKIXRevocationChecker
没有任何效果。
任何未设置的参数(或设置为null
)将被设置为该参数的默认值。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应在其间同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。
Modifier and Type | Class and Description |
---|---|
static class |
PKIXRevocationChecker.Option
可以为吊销检查机制指定的各种撤销选项。
|
Modifier | Constructor and Description |
---|---|
protected |
PKIXRevocationChecker()
默认构造函数。
|
Modifier and Type | Method and Description |
---|---|
PKIXRevocationChecker |
clone()
返回此对象的克隆。
|
List<Extension> |
getOcspExtensions()
获取可选的OCSP请求扩展。
|
URI |
getOcspResponder()
获取标识OCSP响应器位置的URI。
|
X509Certificate |
getOcspResponderCert()
获取OCSP响应者的证书。
|
Map<X509Certificate,byte[]> |
getOcspResponses()
获得OCSP响应。
|
Set<PKIXRevocationChecker.Option> |
getOptions()
获取吊销选项。
|
abstract List<CertPathValidatorException> |
getSoftFailExceptions()
|
void |
setOcspExtensions(List<Extension> extensions)
设置可选的OCSP请求扩展。
|
void |
setOcspResponder(URI uri)
设置标识OCSP响应器位置的URI。
|
void |
setOcspResponderCert(X509Certificate cert)
设置OCSP响应者的证书。
|
void |
setOcspResponses(Map<X509Certificate,byte[]> responses)
设置OCSP响应。
|
void |
setOptions(Set<PKIXRevocationChecker.Option> options)
设置撤销选项。
|
check, check, getSupportedExtensions, init, isForwardCheckingSupported
public void setOcspResponder(URI uri)
ocsp.responderURL
安全属性以及在证书授权信息访问扩展中指定的任何响应者,如RFC 5280中所定义。
uri
- 响应者URI
public URI getOcspResponder()
ocsp.responderURL
安全属性。
如果此参数或ocsp.responderURL
属性未设置,则该位置由RFC 5280中定义的证书的权限信息访问扩展确定。
null
如果没有设置
public void setOcspResponderCert(X509Certificate cert)
ocsp.responderCertSubjectName
, ocsp.responderCertIssuerName
和ocsp.responderCertSerialNumber
安全属性。
cert
- 答复者的证书
public X509Certificate getOcspResponderCert()
ocsp.responderCertSubjectName
, ocsp.responderCertIssuerName
和ocsp.responderCertSerialNumber
安全属性。
如果此参数或上述属性未设置,则响应者的证书按照RFC 2560中的规定确定。
null
如果没有设置
public void setOcspExtensions(List<Extension> extensions)
extensions
- extensions
列表。
该列表被复制以防止后续修改。
public List<Extension> getOcspExtensions()
public void setOcspResponses(Map<X509Certificate,byte[]> responses)
responses
- OCSP响应图。
每个密钥是X509Certificate
,映射到该证书的相应的DER编码的OCSP响应。
执行地图的深层副本以防止后续修改。
public Map<X509Certificate,byte[]> getOcspResponses()
X509Certificate
,映射到该证书的相应的DER编码的OCSP响应。
返回地图的深层副本以防止后续修改。
如果未指定任何响应,则返回空的地图。
public void setOptions(Set<PKIXRevocationChecker.Option> options)
options
- 一组撤销选项。
该集合被复制以防止后续修改。
public Set<PKIXRevocationChecker.Option> getOptions()
public abstract List<CertPathValidatorException> getSoftFailExceptions()
SOFT_FAIL
选项时撤销检查器忽略的异常。
每次调用列表清除init
。
列表按照每个条目的getIndex
方法返回的证书索引按升序排列 。
PKIXRevocationChecker的PKIXRevocationChecker
负责将忽略的例外添加到列表中。
public PKIXRevocationChecker clone()
PKIXCertPathChecker
Object.clone()
方法。
维护状态的所有子类必须支持并覆盖此方法。
clone
在
PKIXCertPathChecker
PKIXCertPathChecker
的副本
Cloneable