|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security.cert
类 X509CRLSelector
java.lang.Object java.security.cert.X509CRLSelector
- 所有已实现的接口:
- Cloneable, CRLSelector
-
public class X509CRLSelector
- extends Object
- implements CRLSelector
选择与所有指定标准相匹配的 X509CRL
的 CRLSelector
。从 CertStore
中选择 CRL 以检查特定证书的撤消状态时,此类特别有用。
最初构造 X509CRLSelector
时,它没有启用任何标准,并且每个 get
方法都返回一个默认值 (null
)。因此,对于任意 X509CRL
而言,match
方法将返回 true
。通常,启用多种标准(例如通过调用 setIssuers
或 setDateAndTime
),然后将 X509CRLSelector
传递到 CertStore.getCRLs
或某个类似方法。
有关 X.509 CRL 各字段和下面所述各扩展的定义,请参阅 RFC 2459。
并发访问
除非另行指定,否则此类中所定义的方法不是线程安全的。需要并发访问单个对象的多个线程应该在它们之间实现同步并提供所需的锁定。对于每个线程都操作一个不同对象的多个线程而言,无需实现同步。
- 从以下版本开始:
- 1.4
- 另请参见:
-
CRLSelector
,X509CRL
构造方法摘要 | |
---|---|
X509CRLSelector() 创建一个 X509CRLSelector 。 |
方法摘要 | |
---|---|
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) 方法,或者使用此方法时仅指定 byte 数组形式的标识名。 |
void |
setIssuers(Collection<X500Principal> issuers) 设置 issuerNames 标准。 |
void |
setMaxCRLNumber(BigInteger maxCRL) 设置 maxCRLNumber 标准。 |
void |
setMinCRLNumber(BigInteger minCRL) 设置 minCRLNumber 标准。 |
String |
toString() 返回该 X509CRLSelector 的可打印表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
X509CRLSelector
public X509CRLSelector()
-
创建一个
X509CRLSelector
。最初未设置任何标准,所以任何X509CRL
都匹配。
方法详细信息 |
---|
setIssuers
public void setIssuers(Collection<X500Principal> issuers)
-
设置 issuerNames 标准。
X509CRL
中的发布方标识名必须至少与某个指定的标识名相匹配。如果指定的标识名为null
,则将匹配任意发布方标识名。此方法允许调用方(使用单个方法调用)指定
X509CRL
可能包含的全部发布方名称集。指定的值会替换 issuerNames 标准以前的值。names
参数(如果不为null
)是一个X500Principal
的Collection
。注意,
names
参数可以包含重复的标识名,但是可能从getIssuers
方法返回的名称Collection
中将其移除。注意,要对该
Collection
执行复制以防后续修改。 -
-
- 参数:
-
issuers
- X500Principals 的Collection
(或者为null
) - 从以下版本开始:
- 1.5
- 另请参见:
-
getIssuers()
setIssuerNames
public void setIssuerNames(Collection<?> names) throws IOException
-
注意:请使用 setIssuers(Collection) 方法,或者使用此方法时仅指定 byte 数组形式的标识名。有关更多信息,请参阅
addIssuerName(String)
。设置 issuerNames 标准。
X509CRL
中的发布方标识名必须至少与某个指定的标识名相匹配。如果指定的标识名为null
,则将匹配任意发布方标识名。此方法允许调用方(使用单个方法调用)指定
X509CRL
可能包含的全部发布方名称集。指定的值会替换 issuerNames 标准以前的值。names
参数(如果不为null
)是一个名称的Collection
。每个名称都是一个String
或 byte 数组(分别为 RFC 2253 或 ASN.1 DER 编码形式),表示一个标识名。如果为此参数提供null
值,则不执行 issuerNames 检查。注意,
names
参数可以包含重复的标识名,但是可能从getIssuerNames
方法返回的名称Collection
中将其移除。如果以 byte 数组的形式指定名称,那么它应该包含单个 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
- 如果发生解析错误 - 另请参见:
-
getIssuerNames()
addIssuer
public void addIssuer(X500Principal issuer)
-
向 issuerNames 标准中添加名称。
X509CRL
中的发布方标识名必须至少与某个指定的标识名相匹配。此方法允许调用方向
X509CRL
可能包含的发布方名称集中添加一个名称。将指定的名称添加到 issuerNames 标准的以前值中。如果指定的名称是重复的,则忽略它。 -
-
- 参数:
-
issuer
- X500Principal 形式的发布方 - 从以下版本开始:
- 1.5
addIssuerName
public void addIssuerName(String name) throws IOException
-
已过时,使用 addIssuer(X500Principal) 或 addIssuerName(byte[]) 替代。由于某些 RFC 2253 String 形式的标识名中会丢失编码信息,所以当此方法与某些 CRL 不匹配时不应该依赖它。
向 issuerNames 标准中添加名称。
X509CRL
中的发布方标识名必须至少与某个指定的标识名相匹配。此方法允许调用方向
X509CRL
可能包含的发布方名称集中添加一个名称。将指定的名称添加到 issuerNames 标准的以前值中。如果指定的名称是重复的,则忽略它。 -
-
- 参数:
-
name
- RFC 2253 形式的名称 - 抛出:
-
IOException
- 如果发生解析错误
addIssuerName
public void addIssuerName(byte[] name) throws IOException
-
向 issuerNames 标准中添加名称。
X509CRL
中的发布方标识名必须至少与某个指定的标识名相匹配。此方法允许调用方向
X509CRL
可能包含的发布方名称集中添加一个名称。将指定的名称添加到 issuerNames 标准的以前值中。如果指定的名称是重复的,则忽略它。如果以 byte 数组的形式指定名称,那么它应该包含单个 DER 编码形式的标识名,正如 X.501 中定义的一样。此结构的 ASN.1 表示如下:以 byte 数组的形式提供该名称。此 byte 数组应该包含单个 DER 编码形式的标识名,正如 X.501 中定义的一样。
setIssuerNames(Collection names)
的文档中提供了此结构的 ASN.1 表示。注意,要复制此处提供的 byte 数组以防后续修改。
-
-
- 参数:
-
name
- 包含 ASN.1 DER 编码形式名称的 byte 数组 - 抛出:
-
IOException
- 如果发生解析错误
setMinCRLNumber
public void setMinCRLNumber(BigInteger minCRL)
-
设置 minCRLNumber 标准。
X509CRL
具有的 CRL 数字扩展的值必须大于或等于指定值。如果其值为null
,则不执行 minCRLNumber 检查。 -
-
- 参数:
-
minCRL
- 接受的最小 CRL 数字(或者为null
)
setMaxCRLNumber
public void setMaxCRLNumber(BigInteger maxCRL)
-
设置 maxCRLNumber 标准。
X509CRL
具有的 CRL 数字扩展的值必须小于或等于指定值。如果其值为null
,则不执行 maxCRLNumber 检查。 -
-
- 参数:
-
maxCRL
- 接受的最大 CRL 数字(或者为null
)