public class X509CRLSelector extends Object implements CRLSelector
CRLSelector
选择
X509CRLs
匹配所有指定的标准。这个类是特别有用当选择从
CertStore
CRL检查一个特定的证书撤销状态。
当第一次建造,一个X509CRLSelector
没有标准的启用和各自的get
方法返回一个默认值(null
)。因此,该match
方法将返回任何X509CRL
true
。通常,几个标准启用(通过调用setIssuers
或setDateAndTime
,例如),然后X509CRLSelector
传递给CertStore.getCRLs
或一些类似的方法。
请参阅X.509 CRL字段和扩展RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile以下定义。
并发访问
除非另有说明,在这个类中定义的方法不是线程安全的。需要访问一个单一对象的多个线程同时应同步,并提供必要的锁。多线程每个操作单独的对象不需要同步。
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)
|
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 表示。
|
public X509CRLSelector()
X509CRLSelector
。最初,没有标准,任何
X509CRL
将匹配。
public void setIssuers(Collection<X500Principal> issuers)
X509CRL
必须在指定至少一个尊贵的名字。如果
null
,任何人可分辨名称会做。
这种方法允许调用者指定,调用一个方法,一套完整的发行人名称X509CRLs
可能包含。指定的值替换为issuernames准则以前的值。
的names
参数(如果不是null
)是一个Collection
的X500Principal
s。
请注意,names
参数可以包含重复的尊贵的名字,但他们可以从名称的Collection
除去getIssuers
方法返回。
注意:一份是在Collection
进行防止随后的修改。
issuers
-
Collection
的x500principals(或
null
)
getIssuers()
public void setIssuerNames(Collection<?> names) throws IOException
addIssuerName(String)
。
集issuernames准则。发行人可分辨名称在X509CRL
必须在指定至少一个尊贵的名字。如果null
,任何人可分辨名称会做。
这种方法允许调用者指定,调用一个方法,一套完整的发行人名称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
-
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
- 1包含名称的字节数组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
这里提供。
dateAndTime
-
Date
来匹配(或
null
)
getDateAndTime()
public void setCertificateChecking(X509Certificate cert)
CertStore
找到CRL,将相关的检查时指定的证书撤销。如果
null
是指定的,并没有提供这样的可选信息。
cert
-
X509Certificate
被检查(或
null
)
getCertificateChecking()
public Collection<X500Principal> getIssuers()
X509CRL
必须在指定至少一个尊贵的名字。如果返回值
null
,任何人可分辨名称会做。
如果返回的值是不null
,它是一个不可改变的X500Principal
s Collection
。
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
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.