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