|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.security.cert.CertificateFactorySpi
public abstract class CertificateFactorySpi
此類別定義了 CertificateFactory
類別的服務提供者介面 (SPI)。希望為特定的證書型別(如 X.509)提供 CertificateFactory 實作的每個加密服務提供者都必須實作此類別中的所有抽象方法。
CertificateFactory 用於根據相關的編碼產生證書、證書路徑 (CertPath
) 和證書撤消列表 (CRL) 物件。
X.509 的 CertificateFactory 返回的證書必須是 java.security.cert.X509Certificate
的實例,CRL 的 CertificateFactory 返回的證書則必須是 java.security.cert.X509CRL
的實例。
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 |
建構子詳細資訊 |
---|
public CertificateFactorySpi()
方法詳細資訊 |
---|
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
- 如果發生解析錯誤。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
- 如果不支持此方法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
- 如果不支持此方法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
- 如果不支持此方法public Iterator<String> engineGetCertPathEncodings()
CertPath
編碼的迭代器,預設編碼方式優先。有關標準編碼名稱的資訊,請參閱 Java Certification Path API Programmer's Guide 中的附錄 A。
試圖修改返回的 Iterator
(通過其 remove
方法)會導致拋出 UnsupportedOperationException
。
Java 2 Platform Standard Edition 的 1.4 版本中添加了此方法。為了維持與現有服務提供者的後向相容性,無法 abstract
此方法,並且預設會拋出 UnsupportedOperationException
。
CertPath
編碼名稱(以 String
的形式)上進行迭代的 Iterator
UnsupportedOperationException
- 如果不支持此方法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 物件,具有惟一認可 的有效欄位。需要特別指出的是,簽章和內容會被忽略。此格式允許同時下載多個證書。如果沒有證書,則返回一個空集合。
注意,如果給定的輸入串流不支持 mark
和 reset
,則此方法將使用整個輸入串流。
inStream
- 帶有證書的輸入串流。
CertificateException
- 如果發生解析錯誤。public abstract CRL engineGenerateCRL(InputStream inStream) throws CRLException
inStream
中讀取的資料對它進行初始化。
為了利用此 CertificateFactory 所支持的專門的 CRL 格式,可將返回的 CRL 物件的型別強制轉換為相應的 CRL 類別。例如,如果此 CertificateFactory 實作 X.509 CRL,則可將返回的 CRL 物件的型別強制轉換為 X509CRL
類別。
注意,如果給定的輸入串流不支持 mark
和 reset
,則此方法將使用整個輸入串流。否則,每次調用此方法都需要一個 CRL,並且將輸入串流的讀取位置定位在固有 CRL 結尾標記後的下一個可用位元組處。如果輸入串流中的資料不包含固有的 CRL 結尾標記(不同於 EOF),並且在解析該 CRL 後有一個尾隨資料,則拋出 CRLException
。
inStream
- 帶有 CRL 資料的輸入串流。
CRLException
- 如果發生解析錯誤。public abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream) throws CRLException
inStream
中讀取的 CRL 的集合視圖(可能為空)。
為了利用此 CertificateFactory 所支持的專門的 CRL 格式,可將返回的集合視圖中的每個元素的型別強制轉換為相應的 CRL 類別。例如,如果此 CertificateFactory 實作 X.509 CRL,則可將返回集合中的元素型別強制轉換為 X509CRL
類別。
在用於 X.509 CRL 的 CertificateFactory 情況中,inStream
可能包含單個 DER 編碼的 CRL。另外,inStream
可能包含一個 PKCS#7 CRL 集合。這是一個 PKCS#7 SignedData 物件,具有惟一被 crl 的有效欄位。需要特別指出的是,簽章和內容會被忽略。此格式允許同時下載多個 CRL。如果沒有 CRL,則返回一個空集合。
注意,如果給定的輸入串流不支持 mark
和 reset
,則此方法將使用整個輸入串流。
inStream
- 帶有 CRL 的輸入串流。
CRLException
- 如果發生解析錯誤。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。