|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security.cert
类 CertificateFactorySpi
java.lang.Object java.security.cert.CertificateFactorySpi
-
public abstract class CertificateFactorySpi
- extends Object
此类定义了 CertificateFactory
类的服务提供程序接口 (SPI)。希望为特定的证书类型(如 X.509)提供 CertificateFactory 实现的每个加密服务提供程序都必须实现此类中的所有抽象方法。
CertificateFactory 用于根据相关的编码生成证书、证书路径 (CertPath
) 和证书撤消列表 (CRL) 对象。
X.509 的 CertificateFactory 返回的证书必须是 java.security.cert.X509Certificate
的实例,CRL 的 CertificateFactory 返回的证书则必须是 java.security.cert.X509CRL
的实例。
- 从以下版本开始:
- 1.2
- 另请参见:
-
CertificateFactory
,Certificate
,X509Certificate
,CertPath
,CRL
,X509CRL
构造方法摘要 | |
---|---|
CertificateFactorySpi() |
方法摘要 | |
---|---|
abstract Certificate |
engineGenerateCertificate(InputStream inStream) 生成一个证书对象并使用从输入流 inStream 中读取的数据对它进行初始化。 |
abstract Collection<? extends Certificate> |
engineGenerateCertificates(InputStream inStream) 返回从给定输入流 inStream 中读取的证书的集合视图(可能为空)。 |
CertPath |
engineGenerateCertPath(InputStream inStream) 生成一个 CertPath 对象,并使用从 InputStream inStream 中读取的数据对它进行初始化。 |
CertPath |
engineGenerateCertPath(InputStream inStream, String encoding) 生成一个 CertPath 对象,并使用从 InputStream inStream 中读取的数据对它进行初始化。 |
CertPath |
engineGenerateCertPath(List<? extends Certificate> certificates) 生成一个 CertPath 对象,并使用 Certificate 的 List 对它进行初始化。 |
abstract CRL |
engineGenerateCRL(InputStream inStream) 生成一个证书撤消列表 (CRL) 对象,并使用从输入流 inStream 中读取的数据对它进行初始化。 |
abstract Collection<? extends CRL> |
engineGenerateCRLs(InputStream inStream) 返回从给定输入流 inStream 中读取的 CRL 的集合视图(可能为空)。 |
Iterator<String> |
engineGetCertPathEncodings() 返回此 CertificateFactory 支持的 CertPath 编码的迭代器,默认编码方式优先。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
CertificateFactorySpi
public CertificateFactorySpi()
方法详细信息 |
---|
engineGenerateCertificate
public abstract Certificate engineGenerateCertificate(InputStream inStream) throws CertificateException
-
生成一个证书对象并使用从输入流
inStream
中读取的数据对它进行初始化。为了利用此 CertificateFactory 所支持的专门的证书格式,可将返回的证书对象的类型强制转换为相应的证书类。例如,如果此 CertificateFactory 实现 X.509 证书,则可将返回的证书对象的类型强制转换为
X509Certificate
类。在用于 X.509 证书的 CertificateFactory 情况中,
inStream
中提供的证书必须是 DER 编码的,并且可以二进制或可打印的 (Base64) 编码形式提供。如果以 Base64 编码的形式提供该证书,则该证书必须由 -----BEGIN CERTIFICATE----- 语句开始,由 -----END CERTIFICATE----- 语句结束。注意,如果给定的输入流不支持
mark
和reset
,则此方法将使用整个输入流。否则,每次调用此方法都需要一个证书,并且将输入流的读取位置定位在固有证书结尾标记后的下一个可用字节处。如果输入流中的数据不包含固有的证书结尾标记(不同于 EOF),并且在解析该证书后有一个尾随数据,则抛出CertificateException
。 -
- 参数:
-
inStream
- 带有证书数据的输入流。 - 返回:
- 已使用输入流中的数据初始化的证书对象。
- 抛出:
-
CertificateException
- 如果发生解析错误。
engineGenerateCertPath
public CertPath engineGenerateCertPath(InputStream inStream) throws CertificateException
-
生成一个
CertPath
对象,并使用从InputStream
inStream 中读取的数据对它进行初始化。假定数据是以默认编码方式进行编码的。Java 2 Platform Standard Edition 的 1.4 版本中添加了此方法。为了维持与现有服务提供程序的后向兼容性,无法
abstract
此方法,并且默认会抛出UnsupportedOperationException
。 -
- 参数:
-
inStream
- 包含数据的InputStream
- 返回:
-
已使用
InputStream
中的数据初始化的CertPath
- 抛出:
-
CertificateException
- 如果解码时出现异常 -
UnsupportedOperationException
- 如果不支持此方法 - 从以下版本开始:
- 1.4
engineGenerateCertPath
public CertPath engineGenerateCertPath(InputStream inStream, String encoding) throws CertificateException
-
生成一个
CertPath
对象,并使用从InputStream
inStream 中读取的数据对它进行初始化。假定数据是以指定的编码方式进行编码的。Java 2 Platform Standard Edition 的 1.4 版本中添加了此方法。为了维持与现有服务提供程序的后向兼容性,无法
abstract
此方法,并且默认会抛出UnsupportedOperationException
。 -
- 参数:
-
inStream
- 包含数据的InputStream
-
encoding
- 数据使用的编码 - 返回:
-
已使用
InputStream
中的数据初始化的CertPath
- 抛出:
-
CertificateException
- 如果解码时出现异常或者不支持所请求的编码 -
UnsupportedOperationException
- 如果不支持此方法 - 从以下版本开始:
- 1.4
engineGenerateCertPath
public CertPath engineGenerateCertPath(List<? extends Certificate> certificates) throws CertificateException
-
生成一个
CertPath
对象,并使用Certificate
的List
对它进行初始化。所提供的证书必须是该
CertificateFactory
所支持的类型。将从提供的List
对象中复制出这些证书。Java 2 Platform Standard Edition 的 1.4 版本中添加了此方法。为了维持与现有服务提供程序的后向兼容性,无法
abstract
此方法,并且默认会抛出UnsupportedOperationException
。 -
- 参数:
-
certificates
-Certificate
的List
- 返回:
-
已使用所提供的证书列表初始化的
CertPath
- 抛出:
-
CertificateException
- 如果出现异常 -
UnsupportedOperationException
- 如果不支持此方法 - 从以下版本开始:
- 1.4
engineGetCertPathEncodings
public Iterator<String> engineGetCertPathEncodings()
-
返回此 CertificateFactory 支持的
CertPath
编码的迭代器,默认编码方式优先。有关标准编码名称的信息,请参见《Java Certification Path API Programmer's Guide》中的 Appendix A。试图修改返回的
Iterator
(通过其remove
方法)会导致抛出UnsupportedOperationException
。Java 2 Platform Standard Edition 的 1.4 版本中添加了此方法。为了维持与现有服务提供程序的后向兼容性,无法
abstract
此方法,并且默认会抛出UnsupportedOperationException
。 -
- 返回:
-
在受支持的
CertPath
编码名称(以String
的形式)上进行迭代的Iterator
- 抛出:
-
UnsupportedOperationException
- 如果不支持此方法 - 从以下版本开始:
- 1.4
engineGenerateCertificates
public abstract Collection<? extends Certificate> engineGenerateCertificates(InputStream inStream) throws CertificateException
-
返回从给定输入流
inStream
中读取的证书的集合视图(可能为空)。为了利用此 CertificateFactory 所支持的专门的证书格式,可将返回的集合视图中的每个元素的类型强制转换为相应的证书类。例如,如果此 CertificateFactory 实现 X.509 证书,则可将返回集合中的元素的类型强制转换为
X509Certificate
类。在用于 X.509 证书的 CertificateFactory 情况中,
inStream
可能包含单个 DER 编码的证书,这些证书使用generateCertificate
所描述的格式。另外,inStream
可能包含一个 PKCS#7 证书链。这是一个 PKCS#7 SignedData 对象,具有惟一认可 的有效字段。需要特别指出的是,签名和内容会被忽略。此格式允许同时下载多个证书。如果没有证书,则返回一个空集合。 -
- 参数:
-
inStream
- 带有证书的输入流。 - 返回:
- java.security.cert.Certificate 对象的集合视图(可能为空),用输入流中的数据对该对象进行初始化。
- 抛出:
-
CertificateException
- 如果发生解析错误。
engineGenerateCRL
public abstract CRL engineGenerateCRL(InputStream inStream) throws CRLException
-
生成一个证书撤消列表 (CRL) 对象,并使用从输入流
inStream
中读取的数据对它进行初始化。为了利用此 CertificateFactory 所支持的专门的 CRL 格式,可将返回的 CRL 对象的类型强制转换为相应的 CRL 类。例如,如果此 CertificateFactory 实现 X.509 CRL,则可将返回的 CRL 对象的类型强制转换为
X509CRL
类。注意,如果给定的输入流不支持
mark
和reset
,则此方法将使用整个输入流。否则,每次调用此方法都需要一个 CRL,并且将输入流的读取位置定位在固有 CRL 结尾标记后的下一个可用字节处。如果输入流中的数据不包含固有的 CRL 结尾标记(不同于 EOF),并且在解析该 CRL 后有一个尾随数据,则抛出CRLException
。 -
- 参数:
-
inStream
- 带有 CRL 数据的输入流。 - 返回:
- 已使用输入流中的数据初始化的 CRL 对象。
- 抛出:
-
CRLException
- 如果发生解析错误。