- 所有已实现的接口:
Cloneable,CRLSelector
X509CRLs 的 CRLSelector。当从 CertStore 选择 CRL 以检查特定证书的吊销状态时,此类特别有用。
首次构造时,X509CRLSelector 没有启用任何条件,并且每个 get 方法都返回一个默认值 (null)。因此,match 方法将为任何 X509CRL 返回 true。通常,会启用多个条件(例如,通过调用 setIssuers 或 setDateAndTime ),然后将 X509CRLSelector 传递给 CertStore.getCRLs 或某种类似方法。
请参阅 RFC 5280:Internet X.509 公钥基础结构证书和 CRL 配置文件 以了解下文提到的 X.509 CRL 字段和扩展的定义。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。需要同时访问单个对象的多个线程应该在它们之间同步并提供必要的锁定。每个操作单独对象的多个线程不需要同步。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述voidaddIssuer(X500Principal issuer) 将名称添加到 issuerNames 条件。voidaddIssuerName(byte[] name) 将名称添加到 issuerNames 条件。voidaddIssuerName(String name) 已弃用。clone()返回此对象的副本。返回正在检查的证书。返回 dateAndTime 标准。返回 issuerNames 标准的副本。返回 issuerNames 标准。返回 maxCRLNumber 标准。返回 minCRLNumber 标准。boolean决定是否应选择CRL。void设置正在检查的证书。voidsetDateAndTime(Date dateAndTime) 设置 dateAndTime 标准。voidsetIssuerNames(Collection<?> names) Note: 使用 setIssuers(Collection) 代替,或者在使用此方法时仅指定专有名称的字节数组形式。voidsetIssuers(Collection<X500Principal> issuers) 设置 issuerNames 标准。voidsetMaxCRLNumber(BigInteger maxCRL) 设置 maxCRLNumber 标准。voidsetMinCRLNumber(BigInteger minCRL) 设置 minCRLNumber 标准。toString()返回X509CRLSelector的可打印表示。
-
构造方法详细信息
-
X509CRLSelector
public X509CRLSelector()创建一个X509CRLSelector。最初,没有设置任何条件,因此任何X509CRL都将匹配。
-
-
方法详情
-
setIssuers
设置 issuerNames 标准。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。如果是null,任何发行者专有名称都可以。此方法允许调用者通过单个方法调用指定
X509CRLs可能包含的完整发行者名称集。指定的值替换了 issuerNames 标准的先前值。names参数(如果不是null)是X500Principal的Collection。请注意,
names参数可以包含重复的可分辨名称,但它们可能会从getIssuers方法返回的名称的Collection中删除。请注意,在
Collection上执行了复制以防止后续修改。- 参数:
issuers- X500Principals 的Collection(或null)- 自从:
- 1.5
- 参见:
-
setIssuerNames
Note: 使用 setIssuers(Collection) 代替,或者在使用此方法时仅指定专有名称的字节数组形式。有关详细信息,请参阅addIssuerName(String)。设置 issuerNames 标准。
X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。如果是null,任何发行者专有名称都可以。此方法允许调用者通过单个方法调用指定
X509CRLs可能包含的完整发行者名称集。指定的值替换了 issuerNames 标准的先前值。names参数(如果不是null)是名称的Collection。每个名称都是一个String或一个字节数组,表示一个可分辨的名称(分别为 RFC 2253 或 ASN.1 DER 编码形式)。如果提供null作为此参数的值,则不会执行任何 issuerNames 检查。请注意,
names参数可以包含重复的可分辨名称,但它们可能会从getIssuerNames方法返回的名称的Collection中删除。如果名称指定为字节数组,它应该包含单个 DER 编码的专有名称,如 X.501 中所定义。此结构的 ASN.1 表示法如下。
Name ::= CHOICE { RDNSequence } RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName ::= SET SIZE (1 .. MAX) OF AttributeTypeAndValue AttributeTypeAndValue ::= SEQUENCE { type AttributeType, value AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANY DEFINED BY AttributeType .... DirectoryString ::= CHOICE { teletexString TeletexString (SIZE (1..MAX)), printableString PrintableString (SIZE (1..MAX)), universalString UniversalString (SIZE (1..MAX)), utf8String UTF8String (SIZE (1.. MAX)), bmpString BMPString (SIZE (1..MAX)) }请注意,在
Collection上执行了深层复制以防止后续修改。- 参数:
names- 一个Collection的名字(或null)- 抛出:
IOException- 如果发生解析错误- 参见:
-
addIssuer
将名称添加到 issuerNames 条件。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。此方法允许调用者将名称添加到
X509CRLs可能包含的发行者名称集中。指定的名称将添加到 issuerNames 标准的任何先前值。如果指定的名称重复,则可能会被忽略。- 参数:
issuer- 作为 X500Principal 的发行人- 自从:
- 1.5
-
addIssuerName
已弃用。请改用addIssuer(X500Principal)或addIssuerName(byte[])。不应依赖此方法,因为它可能无法匹配某些 CRL,因为某些专有名称的 RFC 2253 字符串形式的编码信息丢失。将名称添加到 issuerNames 条件。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。此方法允许调用者将名称添加到
X509CRLs可能包含的发行者名称集中。指定的名称将添加到 issuerNames 标准的任何先前值。如果指定的名称重复,则可能会被忽略。- 参数:
name- RFC 2253 形式的名称- 抛出:
IOException- 如果发生解析错误
-
addIssuerName
将名称添加到 issuerNames 条件。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。此方法允许调用者将名称添加到
X509CRLs可能包含的发行者名称集中。指定的名称将添加到 issuerNames 标准的任何先前值。如果指定的名称重复,则可能会被忽略。如果名称指定为字节数组,它应该包含单个 DER 编码的专有名称,如 X.501 中所定义。此结构的 ASN.1 表示法如下。该名称以字节数组的形式提供。该字节数组应包含单个 DER 编码的专有名称,如 X.501 中所定义。此结构的 ASN.1 表示法出现在
setIssuerNames(Collection names)的文档中。请注意,此处提供的字节数组已被克隆以防止后续修改。
- 参数:
name- 包含 ASN.1 DER 编码形式名称的字节数组- 抛出:
IOException- 如果发生解析错误
-
setMinCRLNumber
设置 minCRLNumber 标准。X509CRL必须有一个 CRL 号码扩展,其值大于或等于指定值。如果是null,则不会进行 minCRLNumber 检查。- 参数:
minCRL- 接受的最小 CRL 编号(或null)
-
setMaxCRLNumber
设置 maxCRLNumber 标准。X509CRL必须有一个 CRL 号码扩展,其值小于或等于指定值。如果是null,则不会进行 maxCRLNumber 检查。- 参数:
maxCRL- 接受的最大 CRL 数(或null)
-
setDateAndTime
设置 dateAndTime 标准。指定的日期必须等于或晚于X509CRL的 thisUpdate 组件的值,并且早于 nextUpdate 组件的值。如果X509CRL不包含 nextUpdate 组件,则没有匹配项。如果是null,则不会进行 dateAndTime 检查。请注意,此处提供的
Date已被克隆以防止后续修改。- 参数:
dateAndTime- 要匹配的Date(或null)- 参见:
-
setCertificateChecking
设置正在检查的证书。这不是标准。相反,它是可选信息,可帮助CertStore查找在检查指定证书的吊销时相关的 CRL。如果指定null,则不提供此类可选信息。- 参数:
cert- 正在检查的X509Certificate(或null)- 参见:
-
getIssuers
返回 issuerNames 标准。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。如果返回的值为null,则任何发行者专有名称都可以。如果返回的值不是
null,则它是X500Principal的不可修改的Collection。- 返回:
-
不可修改的
Collection名称(或null) - 自从:
- 1.5
- 参见:
-
getIssuerNames
返回 issuerNames 标准的副本。X509CRL中的颁发者专有名称必须至少与指定的专有名称之一相匹配。如果返回的值为null,则任何发行者专有名称都可以。如果返回的值不是
null,则它是一个Collection名称。每个名称都是一个String或一个字节数组,表示一个可分辨的名称(分别为 RFC 2253 或 ASN.1 DER 编码形式)。请注意,返回的Collection可能包含重复名称。如果名称指定为字节数组,它应该包含单个 DER 编码的专有名称,如 X.501 中所定义。此结构的 ASN.1 表示法在
setIssuerNames(Collection names)的文档中给出。请注意,在
Collection上执行了深层复制以防止后续修改。- 返回:
-
一个
Collection的名字(或null) - 参见:
-
getMinCRL
返回 minCRLNumber 标准。X509CRL必须有一个 CRL 号码扩展,其值大于或等于指定值。如果是null,则不会进行 minCRLNumber 检查。- 返回:
-
接受的最小 CRL 编号(或
null)
-
getMaxCRL
返回 maxCRLNumber 标准。X509CRL必须有一个 CRL 号码扩展,其值小于或等于指定值。如果是null,则不会进行 maxCRLNumber 检查。- 返回:
-
接受的最大 CRL 数(或
null)
-
getDateAndTime
返回 dateAndTime 标准。指定的日期必须等于或晚于X509CRL的 thisUpdate 组件的值,并且早于 nextUpdate 组件的值。如果X509CRL不包含 nextUpdate 组件,则没有匹配项。如果是null,则不会进行 dateAndTime 检查。请注意,返回的
Date被克隆以防止后续修改。- 返回:
Date匹配(或null)- 参见:
-
getCertificateChecking
返回正在检查的证书。这不是标准。相反,它是可选信息,可帮助CertStore查找在检查指定证书的吊销时相关的 CRL。如果返回的值为null,则不提供此类可选信息。- 返回:
-
正在检查的证书(或
null) - 参见:
-
toString
返回X509CRLSelector的可打印表示。 -
match
决定是否应选择CRL。- 指定者:
match在接口CRLSelector中- 参数:
crl- 要检查的CRL- 返回:
true如果应选择CRL,false否则
-
clone
返回此对象的副本。- 指定者:
clone在接口CRLSelector中- 重写:
clone在类Object中- 返回:
- 副本
- 参见:
-
addIssuer(X500Principal)或addIssuerName(byte[])。