Most visited

Recently visited

Added in API level 1

X509CRLSelector

public class X509CRLSelector
extends Object implements CRLSelector

java.lang.Object
   ↳ java.security.cert.X509CRLSelector


CRLSelector ,其选择X509CRLs匹配所有指定标准。 CertStore选择CRL来检查特定证书的撤销状态时, CertStore特别有用。

第一次构建时, X509CRLSelector没有启用条件,每个get方法都返回默认值( null )。 因此, match方法将返回true任何X509CRL 通常,启用了多个条件(例如,通过调用setIssuerssetDateAndTime ),然后将X509CRLSelector传递给CertStore.getCRLs或某种类似的方法。

请参阅 RFC 3280: Internet X.509 Public Key Infrastructure Certificate and CRL Profile ,了解 下面提到的X.509 CRL字段和扩展的定义。

并发访问

除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应该自己同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。

也可以看看:

Summary

Public constructors

X509CRLSelector()

创建一个 X509CRLSelector

Public methods

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的可打印表示。

Inherited methods

From class java.lang.Object
From interface java.security.cert.CRLSelector

Public constructors

X509CRLSelector

Added in API level 1
X509CRLSelector ()

创建一个X509CRLSelector 最初,没有设置标准,因此任何X509CRL都将匹配。

Public methods

addIssuer

Added in API level 1
void addIssuer (X500Principal issuer)

为issuerNames标准添加一个名称。 X509CRL的发行者专有名称必须至少与指定的专有名称中的一个匹配。

这种方法允许调用者向X509CRLs可能包含的一组发行者名称添加名称。 指定的名称将添加到issuerNames标准的任何以前的值中。 如果指定的名称是重复的,则可能会被忽略。

Parameters
issuer X500Principal: the issuer as X500Principal

addIssuerName

Added in API level 1
void addIssuerName (byte[] name)

为issuerNames标准添加一个名称。 X509CRL的发行者专有名称必须至少与指定的专有名称中的一个匹配。

此方法允许调用X509CRLs可能包含X509CRLs的一组发行人名称添加名称。 指定的名称将添加到issuerNames标准的任何以前的值中。 如果指定的名称是重复的,则可能会被忽略。 如果一个名称被指定为一个字节数组,它应该包含一个单独的DER编码的可分辨名称,如X.501中所定义。 该结构的ASN.1表示法如下。

该名称是以字节数组的形式提供的。 该字节数组应该包含一个单独的DER编码的可分辨名称,如X.501中所定义。 此结构的ASN.1表示法出现在setIssuerNames(Collection names)的文档中。

请注意,这里提供的字节数组被克隆,以防止后续修改。

Parameters
name byte: a byte array containing the name in ASN.1 DER encoded form
Throws
IOException if a parsing error occurs

addIssuerName

Added in API level 1
void addIssuerName (String name)

诋毁 ,使用addIssuer(X500Principal)或者addIssuerName(byte[])代替。 不应该依赖此方法,因为它可能无法匹配某些CRL,因为某些专有名称的RFC 2253字符串形式中的编码信息丢失。

为issuerNames标准添加一个名称。 X509CRL的发行者专有名称必须至少与指定的专有名称中的一个匹配。

此方法允许调用X509CRLs可能包含的发行人名称集添加名称。 指定的名称将添加到issuerNames标准的任何以前的值中。 如果指定的名称是重复的,则可能会被忽略。

Parameters
name String: the name in RFC 2253 form
Throws
IOException if a parsing error occurs

clone

Added in API level 1
Object clone ()

返回此对象的副本。

Returns
Object the copy

getCertificateChecking

Added in API level 1
X509Certificate getCertificateChecking ()

返回正在检查的证书。 这不是一个标准。 相反,它是可选信息,可以帮助CertStore查找在检查指定证书的撤销时相关的CRL。 如果返回的值是null ,则不提供此类可选信息。

Returns
X509Certificate the certificate being checked (or null)

也可以看看:

getDateAndTime

Added in API level 1
Date getDateAndTime ()

返回dateAndTime条件。 指定的日期必须等于或晚于X509CRL的thisUpdate组件的值,并且早于nextUpdate组件的值。 如果X509CRL不包含nextUpdate组件,则不匹配。 如果null ,则不会进行日期和时间检查。

请注意,返回的 Date已克隆,以防止后续修改。

Returns
Date the Date to match against (or null)

也可以看看:

getIssuerNames

Added in API level 1
Collection<Object> getIssuerNames ()

返回issuerNames标准的副本。 X509CRL的发行者专有名称必须至少与指定的专有名称之一匹配。 如果返回的值是null ,则任何发行者专有名称都会执行。

如果返回的值不是null ,则它是名称的Collection 每个名称都是String或表示可分辨名称的字节数组(分别采用RFC 2253或ASN.1 DER编码形式)。 请注意,返回的Collection可能包含重复的名称。

如果一个名称被指定为一个字节数组,它应该包含一个单独的DER编码的可分辨名称,如X.501中所定义。 该结构的ASN.1标记在setIssuerNames(Collection names)的文档中setIssuerNames(Collection names)

请注意,在 Collection上执行深层复制以防止后续修改。

Returns
Collection<Object> a Collection of names (or null)

也可以看看:

getIssuers

Added in API level 1
Collection<X500Principal> getIssuers ()

返回issuerNames标准。 X509CRL的发行者专有名称必须至少匹配指定的专有名称之一。 如果返回的值是null ,则任何发行者专有名称都会执行。

如果返回的值不是 null ,则它是 Collection的不可修改的 X500Principal

Returns
Collection<X500Principal> an unmodifiable Collection of names (or null)

也可以看看:

getMaxCRL

Added in API level 1
BigInteger getMaxCRL ()

返回maxCRLNumber标准。 X509CRL必须具有小于或等于指定值的CRL号码扩展。 如果null ,则不会执行maxCRLNumber检查。

Returns
BigInteger the maximum CRL number accepted (or null)

getMinCRL

Added in API level 1
BigInteger getMinCRL ()

返回minCRLNumber标准。 X509CRL必须具有大于或等于指定值的CRL号码扩展。 如果null ,则不会执行minCRLNumber检查。

Returns
BigInteger the minimum CRL number accepted (or null)

match

Added in API level 1
boolean match (CRL crl)

决定是否应该选择 CRL

Parameters
crl CRL: the CRL to be checked
Returns
boolean true if the CRL should be selected, false otherwise

setCertificateChecking

Added in API level 1
void setCertificateChecking (X509Certificate cert)

设置正在检查的证书。 这不是一个标准。 相反,它是可选信息,可以帮助CertStore查找指定证书的撤销时与CRL相关的CRL。 如果指定了null ,则不提供此类可选信息。

Parameters
cert X509Certificate: the X509Certificate being checked (or null)

也可以看看:

setDateAndTime

Added in API level 1
void setDateAndTime (Date dateAndTime)

设置dateAndTime条件。 指定的日期必须等于或晚于X509CRL的thisUpdate组件的值,并且早于nextUpdate组件的值。 如果X509CRL不包含nextUpdate组件,则不匹配。 如果null ,则不会执行dateAndTime检查。

请注意,这里提供的 Date已被克隆,以防止后续修改。

Parameters
dateAndTime Date: the Date to match against (or null)

也可以看看:

setIssuerNames

Added in API level 1
void setIssuerNames (Collection<?> names)

注意:改为使用setIssuers(Collection),或者在使用此方法时仅指定可分辨名称的字节数组形式。 有关更多信息,请参阅addIssuerName(String)

设置issuerNames标准。 X509CRL的发行者专有名称必须至少与指定的专有名称中的一个匹配。 如果null ,任何发行人专有名称都可以。

该方法允许调用者使用单个方法调用来指定X509CRLs可能包含的完整的发行者名称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上执行深层复制以防止后续修改。

Parameters
names Collection: a Collection of names (or null)
Throws
IOException if a parsing error occurs

也可以看看:

setIssuers

Added in API level 1
void setIssuers (Collection<X500Principal> issuers)

设置issuerNames标准。 X509CRL的发行者专有名称必须至少匹配指定的专有名称之一。 如果是null ,则任何发行者专有名称都会执行。

该方法允许调用者使用单个方法调用指定X509CRLs可能包含的完整的发行者名称X509CRLs 指定的值替换issuerNames标准的先前值。

names参数(如果不是 null )是 CollectionX500Principal

请注意, names参数可以包含重复的可分辨名称,但可能会从 getIssuers方法返回的名称的 Collection中删除它们。

请注意,在 Collection上执行复制以防止后续修改。

Parameters
issuers Collection: a Collection of X500Principals (or null)

也可以看看:

setMaxCRLNumber

Added in API level 1
void setMaxCRLNumber (BigInteger maxCRL)

设置maxCRLNumber标准。 X509CRL必须具有小于或等于指定值的CRL号码扩展。 如果null ,则不会执行maxCRLNumber检查。

Parameters
maxCRL BigInteger: the maximum CRL number accepted (or null)

setMinCRLNumber

Added in API level 1
void setMinCRLNumber (BigInteger minCRL)

设置minCRLNumber标准。 X509CRL必须具有CRL号码扩展,其值大于或等于指定值。 如果null ,则不会执行minCRLNumber检查。

Parameters
minCRL BigInteger: the minimum CRL number accepted (or null)

toString

Added in API level 1
String toString ()

返回 X509CRLSelector的可打印表示。

Returns
String a String describing the contents of the X509CRLSelector.

Hooray!