public class X509CRLSelector extends Object implements CRLSelector
CRLSelector ,其选择X509CRLs匹配所有指定标准。
当从CertStore中选择CRL以检查特定证书的撤销状态时,此类特别有用。
首次构建时, X509CRLSelector没有启用条件,并且get方法中的每一个返回默认值( null )。 因此, match方法将返回true任何X509CRL 。 通常,启用了几个条件(例如通过调用setIssuers或setDateAndTime ),然后将X509CRLSelector传递给CertStore.getCRLs或一些类似的方法。
请参考RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile为下面提到的X.509 CRL领域和扩展的定义。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应在其间同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。
CRLSelector , X509CRL
| Constructor and Description |
|---|
X509CRLSelector()
创建一个
X509CRLSelector 。
|
| Modifier and Type | Method and Description |
|---|---|
void |
addIssuer(X500Principal issuer)
向issuerNames条件添加一个名称。
|
void |
addIssuerName(byte[] name)
向issuerNames条件添加一个名称。
|
void |
addIssuerName(String name)
诋毁 ,使用
addIssuer(X500Principal)或
addIssuerName(byte[])代替。
|
Object |
clone()
返回此对象的副本。
|
X509Certificate |
getCertificateChecking()
返回正在检查的证书。
|
Date |
getDateAndTime()
返回dateAndTime条件。
|
Collection<Object> |
getIssuerNames()
返回issuerNames条件的副本。
|
Collection<X500Principal> |
getIssuers()
返回issuerNames条件。
|
BigInteger |
getMaxCRL()
返回maxCRLNumber标准。
|
BigInteger |
getMinCRL()
返回minCRLNumber标准。
|
boolean |
match(CRL crl)
决定是否选择
CRL 。
|
void |
setCertificateChecking(X509Certificate cert)
设置正在检查的证书。
|
void |
setDateAndTime(Date dateAndTime)
设置dateAndTime标准。
|
void |
setIssuerNames(Collection<?> names)
注意:使用
setIssuers(Collection)或使用此方法时,仅指定可分辨名称的字节数组形式。
|
void |
setIssuers(Collection<X500Principal> issuers)
设置issuerNames条件。
|
void |
setMaxCRLNumber(BigInteger maxCRL)
设置maxCRLNumber标准。
|
void |
setMinCRLNumber(BigInteger minCRL)
设置minCRLNumber标准。
|
String |
toString()
返回X509CRLSelector的可
X509CRLSelector 。
|
public void setIssuers(Collection<X500Principal> issuers)
X509CRL必须在指定的专有名称中的至少一个相匹配。
如果null ,任何发行人的可分辨名称都可以。
该方法允许调用者使用单个方法调用指定X509CRLs可能包含的完整的发行者名称X509CRLs 。 指定的值替换issuerNames条件的上一个值。
names参数(如果不是null )是Collection的X500Principal s。
需要注意的是names参数可以包含重复的专有名称,但他们可以从被删除Collection通过返回的名字getIssuers方法。
请注意,在Collection上执行Collection以防止后续修改。
issuers - 一个
Collection的X500Principals(或
null )
getIssuers()
public void setIssuerNames(Collection<?> names) throws IOException
addIssuerName(String)以获取更多信息。
设置issuerNames条件。 在发行人分辨名称X509CRL必须在指定的专有名称中的至少一个相匹配。 如果null ,任何发行人的可分辨名称都可以。
该方法允许调用者使用单个方法调用指定X509CRLs可能包含的完整的发行者名称X509CRLs 。 指定的值替换issuerNames条件的上一个值。
names参数(如果不是null )是一个Collection的名称。 每个名称是一个String或一个表示可分辨名称的字节数组(分别为RFC 2253或ASN.1 DER编码形式)。 如果提供null作为此参数的值,则不执行issuerNames检查。
需要注意的是names参数可以包含重复的专有名称,但他们可以从被删除Collection通过返回的名字getIssuerNames方法。
如果一个名称被指定为一个字节数组,它应包含一个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 - a
Collection的名称(或
null )
IOException - 如果发生解析错误
getIssuerNames()
public void addIssuer(X500Principal issuer)
X509CRL必须在指定的专有名称中的至少一个相匹配。
此方法允许调用者向X509CRLs可能包含的发行者名称集合添加一个名称。 指定的名称将添加到issuerNames条件的任何先前值。 如果指定的名称是重复的,则可能会被忽略。
issuer - 发行人为X500Principal
public void addIssuerName(String name) throws IOException
向issuerNames条件添加一个名称。 在发行人分辨名称X509CRL必须在指定的专有名称中的至少一个相匹配。
该方法允许调用者向X509CRLs可能包含的发行者名称集合添加一个名称。 指定的名称将添加到issuerNames条件的任何先前值。 如果指定的名称是重复的,则可能会被忽略。
name - RFC 2253表格中的名称
IOException - 如果发生解析错误
public void addIssuerName(byte[] name)
throws IOException
X509CRL必须在指定的专有名称中的至少一个相匹配。
此方法允许调用者向X509CRLs可能包含的发行者名称集合添加一个名称。 指定的名称将添加到issuerNames条件的任何先前值。 如果指定的名称是重复的,则可能会被忽略。 如果一个名称被指定为一个字节数组,它应包含一个DER编码的唯一名称,如X.501所定义。 该结构的ASN.1符号如下。
该名称作为字节数组提供。 该字节数组应包含单个DER编码的可分辨名称,如X.501中所定义。 该结构的ASN.1符号出现在setIssuerNames(Collection names)的文档中 。
请注意,此处提供的字节数组被克隆以防止后续修改。
name - 包含ASN.1 DER编码形式的名称的字节数组
IOException - 如果发生解析错误
public void setMinCRLNumber(BigInteger minCRL)
X509CRL必须具有值大于或等于指定值的CRL号码扩展名。
如果null ,则不会进行minCRLNumber检查。
minCRL - 接受的最低CRL号码(或
null )
public void setMaxCRLNumber(BigInteger maxCRL)
X509CRL必须具有值小于或等于指定值的CRL号码扩展名。
如果null ,则不会执行maxCRLNumber检查。
maxCRL - 接受的最大CRL号码(或
null )
public void setDateAndTime(Date dateAndTime)
X509CRL的值,并且早于nextUpdate组件的值。
如果X509CRL不包含nextUpdate组件,则不匹配。
如果null ,没有dateAndTime检查将完成。
请注意, Date提供的Date被克隆以防止后续修改。
dateAndTime - 与
Date (或
null )
getDateAndTime()
public void setCertificateChecking(X509Certificate cert)
CertStore查找与检查指定证书的撤销相关的CRL。
如果null null,则不提供这样的可选信息。
cert - 被检查的
X509Certificate (或
null )
getCertificateChecking()
public Collection<X500Principal> getIssuers()
X509CRL必须在指定的专有名称中的至少一个相匹配。
如果返回的值为null ,任何发行人的可分辨名称都可以。
如果返回的值不是null ,那么它是Collection的一个不可Collection的X500Principal 。
Collection的名称(或
null )
setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>)
public Collection<Object> getIssuerNames()
X509CRL必须在指定的专有名称中的至少一个相匹配。
如果返回的值为null ,则任何发行人的可分辨名称都可以。
如果返回的值不是null ,那么它是一个Collection的名称。 每个名称是一个String或一个表示可分辨名称的字节数组(分别为RFC 2253或ASN.1 DER编码形式)。 请注意,返回的Collection可能包含重复的名称。
如果一个名称被指定为一个字节数组,它应包含一个DER编码的唯一名称,如X.501所定义。 此结构的ASN.1表示文档中给出了setIssuerNames(Collection names) 。
需要注意的是深拷贝上进行Collection ,以防止后续修改。
Collection的名字(或
null )
setIssuerNames(java.util.Collection<?>)
public BigInteger getMinCRL()
X509CRL必须具有值大于或等于指定值的CRL号码扩展名。
如果null ,则不会进行minCRLNumber检查。
null )
public BigInteger getMaxCRL()
X509CRL必须具有值小于或等于指定值的CRL号码扩展名。
如果null ,则不会执行maxCRLNumber检查。
null )
public Date getDateAndTime()
X509CRL的值,并且早于nextUpdate组件的值。
如果X509CRL不包含nextUpdate组件,则不匹配。
如果null ,没有dateAndTime检查将完成。
请注意,返回的Date被克隆以防止后续修改。
Date来对抗(或
null )
setDateAndTime(java.util.Date)
public X509Certificate getCertificateChecking()
CertStore查找与检查指定证书的撤销相关的CRL。
如果返回值为null ,则不提供此类可选信息。
null )
setCertificateChecking(java.security.cert.X509Certificate)
public String toString()
X509CRLSelector 。
public boolean match(CRL crl)
CRL 。
match在界面
CRLSelector
crl - 要检查的
CRL
true如果
CRL应该被选择,
false false
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.