public abstract class CertificateFactorySpi extends Object
CertificateFactory
类。这个类中的所有抽象方法必须由每个加密服务提供者希望供应如证书为一个特定的证型,执行工厂实施,X.509。
证书的工厂用于生成证书,证书路径(CertPath
)和证书撤销列表(CRL)的编码对象。
一个X.509证书的工厂必须返回,是java.security.cert.X509Certificate
实例证书和CRL是java.security.cert.X509CRL
实例。
CertificateFactory
,
Certificate
,
X509Certificate
,
CertPath
,
CRL
,
X509CRL
Constructor and Description |
---|
CertificateFactorySpi() |
Modifier and Type | Method and Description |
---|---|
abstract Certificate |
engineGenerateCertificate(InputStream inStream)
生成一个证书对象并初始化它的数据从输入流中读取
inStream 。
|
abstract Collection<? extends Certificate> |
engineGenerateCertificates(InputStream inStream)
返回一个(可能为空)从给定的输入流读取证书
inStream 集合视图。
|
CertPath |
engineGenerateCertPath(InputStream inStream)
生成一个
CertPath 对象并初始化它的数据从
InputStream 河道读。
|
CertPath |
engineGenerateCertPath(InputStream inStream, String encoding)
生成一个
CertPath 对象并初始化它的数据从
InputStream 河道读。
|
CertPath |
engineGenerateCertPath(List<? extends Certificate> certificates)
生成一个
CertPath 对象并将它初始化一个
List 的
Certificate s。
|
abstract CRL |
engineGenerateCRL(InputStream inStream)
生成一个证书撤销列表(CRL)对象并将它初始化和数据从输入流中读取
inStream 。
|
abstract Collection<? extends CRL> |
engineGenerateCRLs(InputStream inStream)
返回一个(可能为空)从给定的输入流读取的CRL
inStream 集合视图。
|
Iterator<String> |
engineGetCertPathEncodings()
返回由该证书的工厂支持
CertPath 编码迭代,第一默认编码。
|
public abstract Certificate engineGenerateCertificate(InputStream inStream) throws CertificateException
inStream
。
为了充分利用专业证书的证书格式工厂支持,返回的证明对象可以强制转换为相应的证书班。例如,如果该证书的工厂实现了X.509证书,证书可以返回对象转换到X509Certificate
类。
在一个X.509证书认证的工厂的情况下,该证书必须提供inStream
DER编码可以以二进制或打印(base64编码提供)。如果证书是Base64编码提供,它必须是有界的-----开始证书-----,必须有界最后的结束----- -----证书。
注意,如果给定的输入流不支持mark
和reset
,这种方法会消耗整个输入流。否则,每个调用这个方法消耗一个证书和输入流的读取位置被定位到下一个可用字节后的固有结束的证书标记。如果输入流中的数据不包含证书标记一个固有的结束(除EOF)和有尾的数据证书后解析,一CertificateException
抛出。
inStream
与证书数据输入流。
CertificateException
-解析错误。
public CertPath engineGenerateCertPath(InputStream inStream) throws CertificateException
CertPath
对象并初始化它的数据从
InputStream
河道读。该数据被假定为在默认的编码。
这种方法被添加到版本1.4的java 2平台标准版。为了保持与现有服务提供商的向后兼容性,这种方法不能abstract
默认情况下抛出一个UnsupportedOperationException
。
inStream
-
InputStream
包含数据
CertPath
从
InputStream
数据初始化
CertificateException
-如果异常发生在解码
UnsupportedOperationException
如果方法不受支持
public CertPath engineGenerateCertPath(InputStream inStream, String encoding) throws CertificateException
CertPath
对象并初始化它的数据从
InputStream
河道读。该数据被假定为在指定的编码。
这种方法被添加到版本1.4的java 2平台标准版。为了保持与现有服务提供商的向后兼容性,这种方法不能abstract
默认情况下抛出一个UnsupportedOperationException
。
inStream
-
InputStream
包含数据
encoding
-使用的编码数据
CertPath
从
InputStream
数据初始化
CertificateException
-如果异常发生在解码或编码不支持请求
UnsupportedOperationException
如果方法不受支持
public CertPath engineGenerateCertPath(List<? extends Certificate> certificates) throws CertificateException
CertPath
对象并将它初始化一个
List
的
Certificate
s
提供的证书必须是一个类型的CertificateFactory
支持。他们将复制出的对象提供List
。
这种方法被添加到版本1.4的java 2平台标准版。为了保持与现有服务提供商的向后兼容性,这种方法不能abstract
默认情况下抛出一个UnsupportedOperationException
。
certificates
-
List
的
Certificate
s
CertPath
初始化与提供的证书列表
CertificateException
-如果发生异常
UnsupportedOperationException
如果方法不受支持
public Iterator<String> engineGetCertPathEncodings()
CertPath
编码迭代,第一默认编码。见性的编码部分的
Java Cryptography Architecture Standard Algorithm Name Documentation有关标准编码名称信息。
尝试修改返回的Iterator
通过在UnsupportedOperationException
其remove
方法结果。
这种方法被添加到版本1.4的java 2平台标准版。为了保持与现有服务提供商的向后兼容性,这种方法不能abstract
默认情况下抛出一个UnsupportedOperationException
。
CertPath
编码名称
Iterator
(如
String
s)
UnsupportedOperationException
如果方法不受支持
public abstract Collection<? extends Certificate> engineGenerateCertificates(InputStream inStream) throws CertificateException
inStream
集合视图。
为了充分利用专业证书的证书格式工厂支持,在返回的集合视图的每一个元素都可以转换为相应的证书班。例如,如果该证书的工厂实现了X.509证书,在返回的集合中的元素可以被转换到X509Certificate
类。
在一个X.509证书认证的工厂的情况下,inStream
可能包含一个单一的DER编码的证书generateCertificate
格式描述。此外,inStream
可能包含一个# PKCS 7证书链。这是一个# PKCS 7 signeddata对象,与唯一重要的领域证书。特别是,签名和内容被忽略。此格式允许多个证书立即下载。如果没有证书,则返回一个空集合。
inStream
与证书的输入流。
CertificateException
-解析错误。
public abstract CRL engineGenerateCRL(InputStream inStream) throws CRLException
为了充分利用专业的证书CRL格式工厂支持,返回的CRL对象可以转换为相应的CRL类。例如,如果该证书工厂实行X.509 CRL,CRL的返回对象可以转换到X509CRL
类。
注意,如果给定的输入流不支持mark
和reset
,这种方法会消耗整个输入流。否则,每次调用这个方法,消耗一个CRL和输入流读取的位置定位到下一个可用的字节的CRL标记的内在结束后。如果输入流中的数据不包含CRL标记固有的结束(除EOF)和有尾的数据后,CRL是解析的,一个CRLException
抛出。
inStream
。
inStream
与CRL数据输入流。
CRLException
-解析错误。
public abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream) throws CRLException
inStream
集合视图。
为了充分利用专业的证书CRL格式工厂支持,在返回的集合视图的每一个元素都可以转换为相应的CRL类。例如,如果该证书工厂实行X.509 CRL,在返回的集合中的元素可以被转换到X509CRL
类。
在一个X.509 CRL证书工厂的情况下,inStream
可能包含一个单一的DER编码CRL。此外,inStream
可能包含PKCS 7集# CRL。这是一个# PKCS 7 signeddata对象,与唯一的重要领域是CRL。特别是,签名和内容被忽略。这种格式允许多个CRL被下载一次。如果没有CRL存在,则返回一个空集合。
inStream
与CRL的输入流。
CRLException
-解析错误。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.