|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.security.KeyStoreSpi
public abstract class KeyStoreSpi
此類別為 KeyStore
類別定義服務提供者介面 (SPI)。希望提供特定 keystore 型別的 keystore 實作的每個加密服務提供者必須實作此類別中所有的抽象方法。
KeyStore
建構子摘要 | |
---|---|
KeyStoreSpi()
|
方法摘要 | |
---|---|
abstract Enumeration<String> |
engineAliases()
列出此 keystore 的所有別名。 |
abstract boolean |
engineContainsAlias(String alias)
檢查給定別名是否存在於此 keystore 中。 |
abstract void |
engineDeleteEntry(String alias)
刪除由此 keystore 中給定的別名標識的項。 |
boolean |
engineEntryInstanceOf(String alias,
Class<? extends KeyStore.Entry> entryClass)
確定指定 alias 的 keystore Entry 是否是指定 entryClass 的實例或子類別。 |
abstract Certificate |
engineGetCertificate(String alias)
返回與給定別名關聯的證書。 |
abstract String |
engineGetCertificateAlias(Certificate cert)
返回其證書和給定證書比對的第一個 keystore 項的名稱(別名)。 |
abstract Certificate[] |
engineGetCertificateChain(String alias)
返回與給定別名關聯的證書鏈。 |
abstract Date |
engineGetCreationDate(String alias)
返回該別名標識的項的創建日期。 |
KeyStore.Entry |
engineGetEntry(String alias,
KeyStore.ProtectionParameter protParam)
使用指定保護參數獲取指定別名的 KeyStore.Entry 。 |
abstract Key |
engineGetKey(String alias,
char[] password)
返回與給定別名關聯的密鑰,使用給定密碼恢復它。 |
abstract boolean |
engineIsCertificateEntry(String alias)
如果給定別名標識的項是通過調用 setCertificateEntry 或者調用使用 TrustedCertificateEntry 作為參數的 setEntry 來創建的,則返回 true。 |
abstract boolean |
engineIsKeyEntry(String alias)
如果給定別名標識的項是通過調用 setKeyEntry 或者調用使用 PrivateKeyEntry 或 SecretKeyEntry 作為參數的 setEntry 創建的,則返回 true。 |
abstract void |
engineLoad(InputStream stream,
char[] password)
從給定的輸入串流中載入此 KeyStore。 |
void |
engineLoad(KeyStore.LoadStoreParameter param)
使用給定的 KeyStore.LoadStoreParameter 載入該 keystore。 |
abstract void |
engineSetCertificateEntry(String alias,
Certificate cert)
將給定證書分派給給定別名。 |
void |
engineSetEntry(String alias,
KeyStore.Entry entry,
KeyStore.ProtectionParameter protParam)
用指定別名保存 KeyStore.Entry 。 |
abstract void |
engineSetKeyEntry(String alias,
byte[] key,
Certificate[] chain)
將給定密鑰(已經被保護)分派給給定別名。 |
abstract void |
engineSetKeyEntry(String alias,
Key key,
char[] password,
Certificate[] chain)
將給定的密鑰分派給給定的別名,用給定的密碼保護它。 |
abstract int |
engineSize()
獲取此 keystore 中項的數目。 |
void |
engineStore(KeyStore.LoadStoreParameter param)
使用給定的 KeyStore.LoadStoreParmeter 存儲此 keystore。 |
abstract void |
engineStore(OutputStream stream,
char[] password)
將此 keystore 存儲到給定輸出串流中,並用給定的密碼保護其完整性。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
public KeyStoreSpi()
方法詳細資訊 |
---|
public abstract Key engineGetKey(String alias, char[] password) throws NoSuchAlgorithmException, UnrecoverableKeyException
setKeyEntry
或者調用使用 PrivateKeyEntry
或 SecretKeyEntry
作為參數的 setEntry
將密鑰與別名關聯。
alias
- 別名password
- 恢復密鑰所用的密碼
NoSuchAlgorithmException
- 如果不能找到恢復密鑰的演算法
UnrecoverableKeyException
- 如果不能恢復密鑰(例如,給定的密碼錯誤)。public abstract Certificate[] engineGetCertificateChain(String alias)
setKeyEntry
,或者調用使用 PrivateKeyEntry
做參數的 setEntry
將密鑰與別名關聯。
alias
- 別名
public abstract Certificate engineGetCertificate(String alias)
如果給定的別名標識通過調用 setCertificateEntry
創建的項,或標識通過調用使用 TrustedCertificateEntry
參數的 setEntry
創建的項,那麼返回包含在該項中的可信證書。
如果給定的別名標識通過調用 setKeyEntry
創建的項,或標識通過調用使用 PrivateKeyEntry
作為參數的 setEntry
創建的項,那麼返回該項中證書鏈(如果存在證書鏈)的第一個元素。
alias
- 別名
public abstract Date engineGetCreationDate(String alias)
alias
- 別名
public abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException
如果給定密鑰的型別為 java.security.PrivateKey
型別,則它必須附帶證明相應公鑰的證書鏈。
如果給定的別名已經存在,則與別名關聯的 keystore 資訊被給定的密鑰(可能和證書鏈)覆寫。
alias
- 別名key
- 要與別名關聯的密鑰password
- 保護密鑰的密碼chain
- 相應公鑰的證書鏈(只在給定密鑰的型別為 java.security.PrivateKey
時需要)。
KeyStoreException
- 如果不能保護給定密鑰,或此操作由於某些其他原因而失敗public abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException
如果被保護密鑰的型別為 java.security.PrivateKey
,則它必須附帶證明相應公鑰的證書鏈。
如果給定的別名已經存在,則與別名關聯的 keystore 資訊被給定的密鑰(可能和證書鏈)覆寫。
alias
- 別名key
- 要與別名關聯的密鑰(以受保護格式)chain
- 相應公鑰的證書鏈(只在受保護密鑰的型別為 java.security.PrivateKey
時有用)。
KeyStoreException
- 如果此操作失敗。public abstract void engineSetCertificateEntry(String alias, Certificate cert) throws KeyStoreException
如果給定的別名標識通過調用 setCertificateEntry
創建的現有項,或者標識通過調用使用 TrustedCertificateEntry
作為參數的 setEntry
創建的現有項,那麼現有項中的可信證書被給定證書覆寫。
alias
- 別名cert
- 證書
KeyStoreException
- 如果給定別名已存在且不標識一個套件含可信任證書的項,或此操作由於其他某些原因而失敗。public abstract void engineDeleteEntry(String alias) throws KeyStoreException
alias
- 別名
KeyStoreException
- 如果該項不能被移除public abstract Enumeration<String> engineAliases()
public abstract boolean engineContainsAlias(String alias)
alias
- 別名
public abstract int engineSize()
public abstract boolean engineIsKeyEntry(String alias)
setKeyEntry
或者調用使用 PrivateKeyEntry
或 SecretKeyEntry
作為參數的 setEntry
創建的,則返回 true。
alias
- 要檢查的 keystore 項的別名
public abstract boolean engineIsCertificateEntry(String alias)
setCertificateEntry
或者調用使用 TrustedCertificateEntry
作為參數的 setEntry
來創建的,則返回 true。
alias
- 要檢查的 keystore 項的別名
public abstract String engineGetCertificateAlias(Certificate cert)
此方法試圖將給定證書與每一個 keystore 項相比對。如果將被考慮的項是通過調用 setCertificateEntry
或者調用使用 TrustedCertificateEntry
作為參數的 setEntry
創建的,則將給定證書與該項的證書進行比較。
如果將被考慮的項是通過調用 setKeyEntry
或者調用使用 PrivateKeyEntry
作為參數的 setEntry
創建的,則將給定證書與該項證書鏈的第一個元素進行比較。
cert
- 要比對的證書
public abstract void engineStore(OutputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
stream
- 要寫入此 keystore 的輸出串流。password
- 產生 keystore 完整性檢驗的密碼
IOException
- 如果存在資料的 I/O 問題
NoSuchAlgorithmException
- 如果不能找到恰當的資料完整性演算法
CertificateException
- 如果包含在 keystore 資料中的任何證書不能被存儲public void engineStore(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
KeyStore.LoadStoreParmeter
存儲此 keystore。
param
- 指出存儲 keystore 的方式的 KeyStore.LoadStoreParmeter
,可以為 null
IllegalArgumentException
- 如果給定的 KeyStore.LoadStoreParmeter
輸入無法識別
IOException
- 如果存在資料 I/O 問題
NoSuchAlgorithmException
- 如果不能找到恰當的資料完整性演算法
CertificateException
- 如果 keystore 資料中的任何證書不能被存儲public abstract void engineLoad(InputStream stream, char[] password) throws IOException, NoSuchAlgorithmException, CertificateException
可能給出密碼來解鎖 keystore(例如駐留在硬體標記設備上的 keystore)或檢驗 keystore 資料的完整性。如果沒有給出用於完整性檢驗的密碼,那麼就不會執行完整性檢驗。
stream
- 從其載入 keystore 的輸入串流,或 null
password
- 用來檢驗 keystore 完整性的密碼,用來解鎖 keystore 的密碼,或 null
IOException
- 如果存在 keystore 資料的 I/O 或格式問題,如果需要密碼卻沒有給出,或者給出的密碼錯誤。如果錯誤是由於密碼錯誤,則 IOException
的 cause
應該是一個 UnrecoverableKeyException
NoSuchAlgorithmException
- 如果不能找到用來檢驗 keystore 完整性的演算法
CertificateException
- 如果不能載入 keystore 中的任何證書public void engineLoad(KeyStore.LoadStoreParameter param) throws IOException, NoSuchAlgorithmException, CertificateException
KeyStore.LoadStoreParameter
載入該 keystore。
注意,如果此 KeyStore 已經被載入,則它將再次從給定參數中被初始化和載入。
param
- 指出載入 keystore 的方式的 KeyStore.LoadStoreParameter
,可以為 null
IllegalArgumentException
- 如果給定的 KeyStore.LoadStoreParameter
輸入無法識別
IOException
- 如果存在 keystore 資料的 I/O 或格式問題。如果錯誤是由於 ProtectionParameter
不正確(如密碼錯誤),則 IOException
的 cause
應該是一個 UnrecoverableKeyException
NoSuchAlgorithmException
- 如果不能找到用來檢驗 keystore 完整性的演算法
CertificateException
- 如果不能載入 keystore 中的任何證書public KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException
KeyStore.Entry
。
alias
- 獲取此別名的 KeyStore.Entry
protParam
- 用來保護 Entry
的 ProtectionParameter
,可以為 null
KeyStore.Entry
;如果不存在這樣的項,則返回 null
KeyStoreException
- 如果操作失敗
NoSuchAlgorithmException
- 如果不能找到恢復項的演算法
UnrecoverableEntryException
- 如果指定的 protParam
不足或無效
UnrecoverableKeyException
- 如果該項是 PrivateKeyEntry
或 SecretKeyEntry
並且指定的 protParam
不包含恢復密鑰所需的資訊(如密碼錯誤)public void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam) throws KeyStoreException
KeyStore.Entry
。指定的保護參數用來保護 Entry
。
如果指定別名的項已經存在,它將被覆寫。
alias
- 以此別名保存 KeyStore.Entry
entry
- 要保存的 Entry
protParam
- 用來保護 Entry
的 ProtectionParameter
,可以為 null
KeyStoreException
- 如果此操作失敗public boolean engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
alias
的 keystore Entry
是否是指定 entryClass
的實例或子類別。
alias
- 別名entryClass
- 項的類別
alias
的 keystore Entry
是指定 entryClass
的實例或子類別,則返回 true;否則返回 false。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。