java.security.cert

接口
异常
java.lang.Object
  继承者 java.security.cert.Certificate
所有已实现的接口:
Serializable
直接已知子类:
X509Certificate

public abstract class Certificate
     
extends Object
implements Serializable

管理各种身份证书的抽象类。身份证书是一个主体与由另一个主体所担保的公钥之间的绑定关系。(一个主体表示一种实体,如个体用户、一个用户组或一家公司)。

此类是具有不同格式但是很常用的证书的抽象。例如,不同的证书类型(如 X.509 和 PGP)共享通用的证书功能(如编码和验证)和某些信息类型(如公钥)。

虽然 X.509、PGP 和 SDSI 证书包含不同的信息集,并且它们以不同的方式存储和获取信息,但都可以通过继承 Certificate 类来实现它们。

另请参见:
X509Certificate, CertificateFactory, 序列化表格

嵌套类摘要
protected static class Certificate.CertificateRep
          用于序列化的替换 Certificate 类。
 
构造方法摘要
protected Certificate(String type)
          创建指定类型的证书。
 
方法摘要
 boolean equals(Object other)
          比较此证书与指定对象的相等性。
abstract  byte[] getEncoded()
          返回此证书的编码形式。
abstract  PublicKey getPublicKey()
          从此证书中获取公钥。
 String getType()
          返回此证书的类型。
 int hashCode()
          根据此证书的编码形式返回该证书的哈希码值。
abstract  String toString()
          返回此证书的字符串表示形式。
abstract  void verify(PublicKey key)
          验证是否已使用与指定公钥相应的私钥签署了此证书。
abstract  void verify(PublicKey key, String sigProvider)
          验证是否已使用与指定公钥相应的私钥签署了此证书。
protected  Object writeReplace()
          替换要被序列化的 Certificate。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

Certificate

protected Certificate(String type)
创建指定类型的证书。

参数:
type - 证书类型的标准名称。有关标准证书类型的信息,请参见 Java Cryptography Architecture API Specification & Reference 中的 Appendix A。
方法详细信息

getType

public final String getType()
返回此证书的类型。

返回:
此证书的类型。

equals

public boolean equals(Object other)
比较此证书与指定对象的相等性。如果 other 对象是一个 Certificate 实例,则获取其编码形式并且与此证书的编码形式进行比较。

覆盖:
Object 中的 equals
参数:
other - 要与此证书进行相等性测试的对象。
返回:
当且仅当两个证书的编码形式匹配时,返回 true;否则,返回 false。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
根据此证书的编码形式返回该证书的哈希码值。

覆盖:
Object 中的 hashCode
返回:
哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

getEncoded

public abstract byte[] getEncoded()
                           throws CertificateEncodingException
返回此证书的编码形式。假定每种证书类型只有一种编码形式;例如 X.509 证书将以 ASN.1 DER 的形式进行编码。

返回:
此证书的编码形式
抛出:
CertificateEncodingException - 如果出现编码错误。

verify

public abstract void verify(PublicKey key)
                     throws CertificateException,
                            NoSuchAlgorithmException,
                            InvalidKeyException,
                            NoSuchProviderException,
                            SignatureException
验证是否已使用与指定公钥相应的私钥签署了此证书。

参数:
key - 用于进行验证的 PublicKey。
抛出:
NoSuchAlgorithmException - 如果签名算法不受支持。
InvalidKeyException - 如果 key 不正确。
NoSuchProviderException - 如果没有默认的提供者。
SignatureException - 如果出现签名错误。
CertificateException - 如果出现编码错误。

verify

public abstract void verify(PublicKey key,
                            String sigProvider)
                     throws CertificateException,
                            NoSuchAlgorithmException,
                            InvalidKeyException,
                            NoSuchProviderException,
                            SignatureException
验证是否已使用与指定公钥相应的私钥签署了此证书。此方法使用指定提供者所提供的签名验证引擎。

参数:
key - 用于进行验证的 PublicKey。
sigProvider - 签名提供者的名称。
抛出:
NoSuchAlgorithmException - 如果签名算法不受支持。
InvalidKeyException - 如果 key 不正确。
NoSuchProviderException - 如果提供者不正确。
SignatureException - 如果出现签名错误。
CertificateException - 如果出现编码错误。

toString

public abstract String toString()
返回此证书的字符串表示形式。

覆盖:
Object 中的 toString
返回:
此证书的字符串表示形式。

getPublicKey

public abstract PublicKey getPublicKey()
从此证书中获取公钥。

返回:
公钥。

writeReplace

protected Object writeReplace()
                       throws ObjectStreamException
替换要被序列化的 Certificate。

返回:
要序列化的对象的替换 Certificate 对象
抛出:
ObjectStreamException - 如果新对象表示无法创建此 Certificate
从以下版本开始:
1.3