javatm platform
standard ed. 6

java.security.cert
类 x509crl

java.lang.object 继承者 java.security.cert.crl 继承者 java.security.cert.x509crl
所有<suǒ yǒu>已实现的接口:
x509extension

public abstract class x509crl
extends crl
implements x509extension

x.509 证书撤消列表 (crl) 的抽象类。crl 是标识已撤消证书的时间戳列表。它由证书颁发机构 (ca) 签署并且可在公共存储库中随意使用。

在 crl 中,通过每个已撤消证书的证书序列号来标识该证书。当使用证书的系统使用某个证书(例如,用它验证远程用户的数字签名)时,该系统不仅<not only>要检查该证书的签名和有效性,而且<but>还要获取一个最近合适的 crl,并检查该证书序列号在不在该 crl 中。“最近合适”的含义可能<kě néng>随本地策略的不同而有所不同,但是<dàn shì>它通常指的是最近发布的 crl。ca 定期发布新的 crl(例如每小时、每日、每周)。当撤消发生<occasionally occurred>时向 crl 添加一个项,而到达证书的终止日期时,可能<kě néng>会移除一个项。

x.509 v2 crl 格式的 asn.1 描述如下:

 certificatelist ::= sequence { tbscertlist   tbscertlist, signaturealgorithm  algorithmidentifier, signature  bit string } 

在 rfc 2459,即 "internet x.509 public key infrastructure certificate and crl profile"(位于 http://www.ietf.org/rfc/rfc2459.txt )中可找到更多信息。

tbscertlist 的 asn.1 定义是:

 tbscertlist ::= sequence { version   version optional,     -- if present, must be v2 signature    algorithmidentifier, issuer   name, thisupdate   choiceoftime, nextupdate   choiceoftime optional, revokedcertificates sequence of sequence {   usercertificate   certificateserialnumber,   revocationdate   choiceoftime,   crlentryextensions extensions optional       -- if present, must be v2   } optional, crlextensions  [0] explicit extensions optional       -- if present, must be v2 } 

crl 是使用证书工厂进行实例化的。下面的示例演示了如何<how>实例化一个 x.509 crl:

 inputstream instream=new fileinputstream("filename-of-crl"); certificatefactory cf=certificatefactory.getinstance("x.509"); x509crl crl=(x509crl)cf.generatecrl(instream); instream.close(); 

另请参见:
crl,certificatefactory,x509extension

构造方法摘要
protected x509crl()
          x.509 crl 的构造方法。
 
方法摘要
 booleanequals(object other)
          比较此 crl 与给定对象的相等性。
abstract  byte[]getencoded()
          返回此 crl 的 asn.1 der 编码形式。
abstract  principalgetissuerdn()
          已过时,由 getissuerx500principal() 替代。
 x500principalgetissuerx500principal()
          以 x500principal 的形式返回 crl 的发布方(发布方标识名)值。
abstract  dategetnextupdate()
          获取 crl 的 nextupdate 日期。
abstract  x509crlentrygetrevokedcertificate(biginteger serialnumber)
          获取具有给定证书 serialnumber 的 crl 项(如果有)。
 x509crlentrygetrevokedcertificate(x509certificatejs随机数 certificate)
          获取给定证书的 crl 项(如果有)。
abstract  set<? extends x509crlentry>getrevokedcertificates()
          获取此 crl 中的所有项。
abstract  stringgetsigalgname()
          获取 crl 签名算法的签名算法名。
abstract  stringgetsigalgoid()
          获取 crl 的签名算法 oid 字符串。
abstract  byte[]getsigalgparams()
          获取此 crl 的签名算法中 der 编码形式的签名算法参数。
abstract  byte[]getsignature()
          获取 crl 的 signature 值(原始签名位)。
abstract  byte[]gettbscertlist()
          从此 crl 中获取以 der 编码的 crl 信息,即 tbscertlist
abstract  dategetthisupdate()
          获取 crl 的 thisupdate 日期。
abstract  intgetversion()
          获取 crl 的 version(版本号)值。
 inthashcode()
          根据此 crl 的编码形式返回该 crl 的哈希码值。
abstract  voidverify(publickey key)
          验证是否已使用与给定公钥相应的私钥签署了此 crl。
abstract  voidverify(publickey key,string sigprovider)
          验证是否已使用与给定公钥相应的私钥签署了此 crl。
 
从类 java.security.cert.crl 继承的方法
gettype, isrevoked, tostring
 
从类 java.lang.object 继承的方法
clone, finalize, getclass, notify, notifyall, wait, wait, wait
 
从接口 java.security.cert.x509extension 继承的方法
getcriticalextensionoids, getextensionvalue, getnoncriticalextensionoids, hasunsupportedcriticalextension
 

构造方法详细校約ense>畔

x509crl

protected x509crl()
x.509 crl 的构造方法。

方法详细信息

equals

public boolean equals(object other)
比较此 crl 与给定对象的相等性。如果 other 对象是一个 instanceof x509crl,则获取其编码形式并且与此 crl 的编码形式进行比较。

覆盖:
object 中的 equals
参数:
other - 要与此 crl 进行相等性测试的对象。
返回:
当且仅当两个 crl 的编码形式匹配时才返回 true;否则返回 false。
另请参见:
object.hashcode(),hashtable
同时也希望<xī wàng>能为日本<rì běn>学生<students>去北京中医药大学留学起到穿针引线的作用。
胜<win>又正秀还回答了人们对有关赴日"个人游"存在的一些误解。
7月26日,东京圈的8位华人心中却有一丝清凉,这一天他们通过SNS社交网自发组织了一次远足漂流活动,这一天带给他们清凉感觉<很爽>的不仅<not only>是潺潺的河水,更是朋友圈子的默契与温馨。
烧烤刚开始<kāi shǐ>时,大家围在炉前抢着自己<his>动手。
琴音淙淙、乐声袅袅,华裔琴童奇迹般地令所有人如痴如醉。

hashcode

public int hashcode()
根据此 crl 的编码形式返回该 crl 的哈希码值。

覆盖:
object 中的 hashcode
返回:
哈希码值。
另请参见:
object.equals(java.lang.object),hashtable

getencoded

public abstract byte[] getencoded()      throws crlexception
返回此 crl 的 asn.1 der 编码形式。

返回:
此证书的编码形式
抛出:
crlexception - 如果发生<occasionally occurred>编码错误。

verify

public abstract void verify(publickey key)     throws crlexception,      nosuchalgorithmexception,      invalidkeyexception,      nosuchproviderexception,      signatureexception
验证是否已使用与给定公钥相应的私钥签署了此 crl。

参数:
key - 用于进行验证的 publickey。
抛出:
nosuchalgorithmexception - 如果签名算法不受支持<zhī chí>。
invalidkeyexception - 如果密钥不正确。
nosuchproviderexception - 如果没有默认的提供者。
signatureexception - 如果发生签名错误。
crlexception - 如果发生编码错误。

verify

public abstract void verify(publickey key,      string sigprovider)     throws crlexception,      nosuchalgorithmexception,      invalidkeyexception,      nosuchproviderexception,      signatureexception
验证是否已使用与给定公钥相应的私钥签署了此 crl。此方法使用给定提供者所提供的签名验证引擎。

参数:
key - 用于进行验证的 publickey。
sigprovider - 签名提供者的名称。
抛出:
nosuchalgorithmexception - 如果签名算法不受支持<zhī chí>。
invalidkeyexception - 如果密钥不正确。
nosuchproviderexception - 如果提供者不正确。
signatureexception - 如果发生签名错误。
crlexception - 如果发生编码错误。

getversion

public abstract int getversion()
获取 crl 的 version(版本号)值。此内容的 asn.1 定义如下:
 version  version optional,   -- if present, must be v2

version ::= integer { v1(0), v2(1), v3(2) } -- v3 does not apply to crls but appears for consistency -- with definition of version for certs

返回:
版本号,比如 1 或 2。

getissuerdn

public abstract principal getissuerdn()
已过时,由 getissuerx500principal() 替代。此方法返回作为特定 principal 对象实现的 issuer,可移植的代码不应依靠该对象。

获取 crl 的 issuer(发布方的标识名)。发布方名称保紅icket>晔读饲┦穑ú⒎⒉迹└ crl 的实体。

发布方名称字段包含一个 x.500 标识名 (dn)。此内容的 asn.1 定义如下:

 issuer  name name ::=choice { rdnsequence } rdnsequence ::=sequence of relativedistinguishedname relativedistinguishedname ::=  set of attributevalueassertion attributevalueassertion ::=sequence {      attributetype,      attributevalue } attributetype ::=object identifier attributevalue ::=any 
name 描述了一个层次结构名,由属性(如国家/地区名)和相应值(如 us)组成。attributevalue 组件的类型由 attributetype 来确定;一般是 directorystringdirectorystring 通常是 printablestringteletexstringuniversalstring 之一。

返回:
一个 principal,其名称是发布方的标识名。

getissuerx500principal

public x500principal getissuerx500principal()
x500principal 的形式返回 crl 的发布方(发布方标识名)值。

建议子类重写此方法。

返回:
一个表示发布方标识名的 x500principal
从以下版本开始<kāi shǐ>:
1.4

getthisupdate

public abstract date getthisupdate()
获取 crl 的 thisupdate 日期。此内容的 asn.1 定义如下:
 thisupdate  choiceoftime choiceoftime ::=choice { utctime  utctime, generaltime  generalizedtime } 

返回:
获取 crl 的 thisupdate 日期。

getnextupdate

public abstract date getnextupdate()
获取 crl 的 nextupdate 日期。

返回:
获取 crl 的 nextupdate 日期,如果不存在,则返回 null。

getrevokedcertificate

public abstract x509crlentry getrevokedcertificate(biginteger serialnumber)
获取具有给定证书 serialnumber 的 crl 项(如果有)。

参数:
serialnumberjs随机数 - 要查找其 crl 项的证书的序列号
返回:
具有给定序列号的项,如果此 crl 中没有该项,则返回 null。
另请参见:
x509crlentry

getrevokedcertificate

public x509crlentry getrevokedcertificate(x509certificate certificate)
获取给定证书的 crl 项(如果有)。

此方法可用于在间接 crl 中查找 crl 项,间接 crl 意味着其中包含来自不同于 crl 发布方的发布方的项。默认的实现只返回由 crl 发布方所发布的证书项。希望<xī wàng>支持间接 crl 的子类应该<yīng gāi>重写此方法。

参数:
certificate - 证书,在 crl 中查找此证书的 crl 项
返回:
给定证书的项,如果此 crl 中没有该项,则返回 null。
抛出:
nullpointerexception - 如果 certificate 为 null
从以下版本开始:
1.5

getrevokedcertificates

public abstract set<? extends x509crlentry> getrevokedcertificates()
获取此 crl 中的所有项。这会返回一个 x509crlentry 对象 set。

返回:
所有项,如果没有项,则返回 null。
另请参见:网站地图 手机端
x509crlentry

gettbscertlist

public abstract byte[] gettbscertlist()      throws crlexception
从此 crl 中获取以 der 编码的 crl 信息,即 tbscertlist。这可用于独立验证签名。

返回:
以 der 编码的 crl 信息。
抛出:
crlexception - 如果发生编码错误。

getsignature

public abstract byte[] getsignature()
获取 crl 的 signature 值(原始签名位)。此内容的 asn.1 定义如下:
 signature bit string 

返回:
签名。

getsigalgname

public abstract string getsigalgname()
获取 crl 签名算法的签名算法名。例如字符串 "sha-1/dsa"。此内容的 asn.1 定义如下:
 signaturealgorithm  algorithmidentifier

algorithmidentifier ::= sequence { algorithm object identifier, parameters any defined by algorithm optional } -- contains a value of the type -- registered for use with the -- algorithm object identifier value

根据 algorithm oid 字符串确定该算法名。

返回:
签名算法名。

getsigalgoid

public abstract string getsigalgoid()
获取 crl 的签名算法 oid 字符串。oid 由一组句点分隔的非负整数集来表示。例如,按照 rfc 2459 中的规定,字符串 "1.2.840.10040.4.3" 标识使用 dsa 签名算法的 sha-1。

有关相关的 asn.1 定义,请参见 getsigalgname

返回:
签名算法 oid 字符串。

getsigalgparams

public abstract byte[] getsigalgparams()
获取此 crl 的签名算法中 der 编码形式的签名算法参数。在大多数情况下,该签名算法参数为 null;该参数通常提供公钥。如果需要访问<visit>个别参数值,则使用 algorithmparameters 并使用 getsigalgname 所返回的名称进行实例化。

有关相关的 asn.1 定义,请参见 getsigalgname

返回:
der 编码形式的签名算法参数,如果没有该参数,则返回 null。

javatm platform
standard ed. 6

提交错误或意见<remark>
有关更多的 api 参考资料和开发<developing>人员文档,请参阅 java se 开发<developing>人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作<work>代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策