java.lang.Object
java.security.cert.Certificate
- 所有已实现的接口:
-
Serializable
- 直接已知的子类:
-
X509Certificate
用于管理各种身份证书的抽象类。身份证书是将主体与由另一个主体保证的公钥绑定的一种方式。 (主体代表诸如个人用户、组或公司等实体。)
该类是具有不同格式但重要共同用途的证书的抽象。例如,不同类型的证书(如X.509和PGP)共享一般的证书功能(如编码和验证)和某些类型的信息(如公钥)。
X.509、PGP和SDSI证书都可以通过对Certificate类进行子类化来实现,即使它们包含不同的信息集,并且它们以不同的方式存储和检索信息。
- 自版本:
- 1.2
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
替代的Certificate
类用于序列化。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
将此证书与指定对象进行相等性比较。abstract byte[]
返回此证书的编码形式。abstract PublicKey
从此证书获取公钥。final String
getType()
返回此证书的类型。int
hashCode()
从其编码形式为此证书返回哈希码值。abstract String
toString()
返回此证书的字符串表示形式。abstract void
验证此证书是否使用与指定公钥对应的私钥签名。abstract void
验证此证书是否使用与指定公钥对应的私钥签名。void
验证此证书是否使用与指定公钥对应的私钥签名。protected Object
-
Constructor Details
-
Certificate
创建指定类型的证书。- 参数:
-
type
- 证书类型的标准名称。有关标准证书类型的信息,请参阅Java安全标准算法名称规范中的CertificateFactory部分。
-
-
Method Details
-
getType
返回此证书的类型。- 返回:
- 此证书的类型。
-
equals
将此证书与指定对象进行相等性比较。如果other
对象是Certificate
的一个实例,则将检索其编码形式并将其与此证书的编码形式进行比较。 -
hashCode
public int hashCode()从其编码形式为此证书返回哈希码值。 -
getEncoded
返回此证书的编码形式。假定每种证书类型只有一种编码形式;例如,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平台标准版的1.8版本中。为了与现有服务提供程序保持向后兼容,此方法不能是
abstract
,默认情况下会抛出UnsupportedOperationException
。- 参数:
-
key
- 用于执行验证的PublicKey。 -
sigProvider
- 签名提供程序。 - 抛出:
-
NoSuchAlgorithmException
- 不支持的签名算法。 -
InvalidKeyException
- 错误的密钥。 -
SignatureException
- 签名错误。 -
CertificateException
- 编码错误。 -
UnsupportedOperationException
- 如果不支持该方法 - 自版本:
- 1.8
-
toString
返回此证书的字符串表示形式。 -
getPublicKey
从此证书获取公钥。- 返回:
- 公钥。
-
writeReplace
- 返回:
-
包含
Certificate
类型和编码字节的CertificateRep
对象 - 抛出:
-
ObjectStreamException
- 如果无法创建代表此Certificate
的CertificateRep
对象 - 自版本:
- 1.3
-