3.5 java.security.cert包详解

java. security.cert包提供用于解析和管理证书、证书撤销列表(CRL)和证书路径的类和接口。作为Java加密与解密实现的扩展。本节着重详述了Certificate类及其子类和CertificateFactory类的使用。作为补充,本节详述了有关证书撤销相关的CRL类及其子类和用于证书路径的类CertPath类的使用。对证书有兴趣的读者可以参考相应的Java API内容。

3.5.1 Certificate

Certificate类是一个用于管理证书的抽象类。证书有多种类型,如X.509、PGP和SDSI证书,并且它们以不同的方式存储和存储信息,但都可以通过继承Certificate类来实现它们。


//管理各种身份证书的抽象类。

public abstract class Certificate

extends Object

implements Serializable


❑方法详述

Certificate类提供3种基本操作,要求子类实现:


//返回此证书的编码形式。

public abstract byte[]getEncoded()

//验证是否已使用与指定公钥相应的私钥签署了此证书。

public abstract void verify(PublicKey key)

//验证是否已使用与指定公钥相应的私钥签署了此证书。

public abstract void verify(PublicKey key, String sigProvider)

//从此证书中获取公钥。

public abstract PublicKey getPublicKey()


Certificate类还要求子类必须实现以下方法:


//返回此证书的字符串表示形式。

public abstract String toString()


通过如下方法将得到该证书的类型:


//返回此证书的类型。如X.509、PGP和SDSI。

public final String getType()


此外,Certificate类覆盖了以下方法:

//根据此证书的编码形式返回该证书的散列码值。


public int hashCode()

//比较此证书与指定对象的相等性。

public boolean equals(Object other)


Certificate类有一个抽象子类—X509Certificate类,我们将在后面几节内容中介绍它。