- 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类来实现,即使它们包含不同的信息集,并且它们以不同的方式存储和检索信息。
- 从以下版本开始:
- 1.2
- 另请参见:
-
X509Certificate
,CertificateFactory
, Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected static class
Certificate.CertificateRep
用于序列化的备用证书类。
-
构造方法摘要
构造方法 变量 构造器 描述 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)
验证是否使用与指定公钥对应的私钥对此证书进行了签名。void
verify(PublicKey key, Provider sigProvider)
验证是否使用与指定公钥对应的私钥对此证书进行了签名。protected Object
writeReplace()
替换要序列化的证书。
-
-
-
构造方法详细信息
-
Certificate
protected Certificate(String type)
创建指定类型的证书。- 参数
-
type
- 证书类型的标准名称。 有关标准证书类型的信息,请参阅Java Security Standard Algorithm Names Specification中的CertificateFactory部分。
-
-
方法详细信息
-
getType
public final String getType()
返回此证书的类型。- 结果
- 这个证书的类型。
-
equals
public boolean equals(Object other)
比较此证书与指定对象的相等性。 如果other
对象是instanceof
Certificate
,则检索其编码形式并将其与此证书的编码形式进行比较。- 重写:
-
equals
在类Object
- 参数
-
other
- 要测试与此证书是否相等的对象。 - 结果
- 如果两个证书的编码形式匹配,则为true,否则为false。
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
从其编码形式返回此证书的哈希码值。- 重写:
-
hashCode
类Object
- 结果
- 哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
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
- 关于错误的密钥。 -
NoSuchProviderException
- 如果没有默认提供商。 -
SignatureException
- 关于签名错误。 -
CertificateException
- 关于编码错误。
-
verify
public abstract void verify(PublicKey key, String sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, NoSuchProviderException, SignatureException
验证是否使用与指定公钥对应的私钥对此证书进行了签名。 此方法使用指定提供程序提供的签名验证引擎。- 参数
-
key
- 用于执行验证的PublicKey。 -
sigProvider
- 签名提供程序的名称。 - 异常
-
NoSuchAlgorithmException
- 关于不支持的签名算法。 -
InvalidKeyException
- 关于错误的密钥。 -
NoSuchProviderException
- 关于不正确的提供商。 -
SignatureException
- 关于签名错误。 -
CertificateException
- 关于编码错误。
-
verify
public void verify(PublicKey key, Provider sigProvider) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException
验证是否使用与指定公钥对应的私钥对此证书进行了签名。 此方法使用指定提供程序提供的签名验证引擎。 请注意,指定的Provider对象不必在提供程序列表中注册。此方法已添加到Java Platform Standard Edition的1.8版中。 为了保持与现有服务提供者的向后兼容性,此方法不能是
abstract
,默认情况下会抛出UnsupportedOperationException
。- 参数
-
key
- 用于执行验证的PublicKey。 -
sigProvider
- 签名提供程序。 - 异常
-
NoSuchAlgorithmException
- 关于不受支持的签名算法。 -
InvalidKeyException
- 关于错误的密钥。 -
SignatureException
- 关于签名错误。 -
CertificateException
- 关于编码错误。 -
UnsupportedOperationException
- 如果不支持该方法 - 从以下版本开始:
- 1.8
-
getPublicKey
public abstract PublicKey getPublicKey()
从此证书获取公钥。- 结果
- 公钥。
-
writeReplace
protected Object writeReplace() throws ObjectStreamException
替换要序列化的证书。- 结果
- 要序列化的备用Certificate对象
- 异常
-
ObjectStreamException
- 如果无法创建表示此证书的新对象 - 从以下版本开始:
- 1.3
-
-