|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.crypto.SecretKeyFactory
public class SecretKeyFactory
此類別表示秘密密鑰的處理器。
密鑰處理器用來將密鑰(型別 Key
的不透明加密密鑰)轉換為密鑰規範(底層密鑰材料的透明表示形式),反之亦然。秘密密鑰處理器只對秘密(對稱)密鑰進行操作。
密鑰處理器為雙工網要,即其允許根據給定密鑰規範(密鑰材料)建構不透明密鑰物件,或以適當格式獲取密鑰物件的底層密鑰材料。
應用程序開發人員應參閱其提供者文檔,找出 generateSecret
和 getKeySpec
方法所支持的密鑰規範。例如,"SunJCE" 提供者提供的 DES 秘密密鑰處理器支持 DESKeySpec
作為 DES 密鑰的透明表示形式,並且該提供者的 Triple DES 密鑰的秘密密鑰處理器支持 DESedeKeySpec
作為 Triple DES 密鑰的透明表示形式。
SecretKey
,
DESKeySpec
,
DESedeKeySpec
,
PBEKeySpec
建構子摘要 | |
---|---|
protected |
SecretKeyFactory(SecretKeyFactorySpi keyFacSpi,
Provider provider,
String algorithm)
創建一個 SecretKeyFactory 物件。 |
方法摘要 | |
---|---|
SecretKey |
generateSecret(KeySpec keySpec)
根據提供的密鑰規範(密鑰材料)產生 SecretKey 物件。 |
String |
getAlgorithm()
返回此 SecretKeyFactory 物件的演算法名稱。 |
static SecretKeyFactory |
getInstance(String algorithm)
返回轉換指定演算法的秘密密鑰的 SecretKeyFactory 物件。 |
static SecretKeyFactory |
getInstance(String algorithm,
Provider provider)
返回轉換指定演算法的秘密密鑰的 SecretKeyFactory 物件。 |
static SecretKeyFactory |
getInstance(String algorithm,
String provider)
返回轉換指定演算法的秘密密鑰的 SecretKeyFactory 物件。 |
KeySpec |
getKeySpec(SecretKey key,
Class keySpec)
以請求的格式返回給定密鑰物件的規範(密鑰材料)。 |
Provider |
getProvider()
返回此 SecretKeyFactory 物件的提供者。 |
SecretKey |
translateKey(SecretKey key)
將一個密鑰物件(其提供者未知或可能不受信任)轉換為此秘密密鑰處理器的相應密鑰物件。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
protected SecretKeyFactory(SecretKeyFactorySpi keyFacSpi, Provider provider, String algorithm)
keyFacSpi
- 委託provider
- 提供者algorithm
- 秘密密鑰演算法方法詳細資訊 |
---|
public static final SecretKeyFactory getInstance(String algorithm) throws NoSuchAlgorithmException
SecretKeyFactory
物件。
此方法從首選 Provider 開始遍歷已註冊安全提供者列表。返回一個封裝 SecretKeyFactorySpi 實作的新 SecretKeyFactory 物件,該實作取自支持指定演算法的第一個 Provider。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
algorithm
- 所請求的秘密密鑰演算法的標準名稱。有關標準演算法名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。
SecretKeyFactory
物件。
NullPointerException
- 如果指定的演算法為 null。
NoSuchAlgorithmException
- 如果沒有任何 Provider 支持指定演算法的 SecretKeyFactorySpi 實作。Provider
public static final SecretKeyFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SecretKeyFactory
物件。
返回一個封裝 SecretKeyFactorySpi 實作的新 SecretKeyFactory 物件,該實作取自指定的提供者。指定提供者必須在安全提供者列表中註冊。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
algorithm
- 所請求的秘密密鑰演算法的標準名稱。有關標準演算法名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。provider
- 提供者的名稱。
SecretKeyFactory
物件。
NoSuchAlgorithmException
- 如果不能從指定提供者獲得指定演算法的 SecretKeyFactorySpi 實作。
NullPointerException
- 如果指定的演算法為 null。
NoSuchProviderException
- 如果指定提供者未在安全提供者列表中註冊。
IllegalArgumentException
- 如果 provider
為 null 或空。Provider
public static final SecretKeyFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
SecretKeyFactory
物件。
返回一個封裝 SecretKeyFactorySpi 實作的新 SecretKeyFactory 物件,該實作取自指定的 Provider 物件。注意,指定 Provider 物件無需在提供者列表中註冊。
algorithm
- 所請求的秘密密鑰演算法的標準名稱。有關標準演算法名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。provider
- 提供者。
SecretKeyFactory
物件。
NullPointerException
- 如果指定的演算法為 null。
NoSuchAlgorithmException
- 如果不能從指定的 Provider 物件獲得指定演算法的 SecretKeyFactorySpi 實作。
IllegalArgumentException
- 如果 provider
為 null。Provider
public final Provider getProvider()
SecretKeyFactory
物件的提供者。
SecretKeyFactory
物件的提供者public final String getAlgorithm()
SecretKeyFactory
物件的演算法名稱。
此名稱與在某個創建此 SecretKeyFactory
物件的 getInstance
調用中指定的名稱相同。
SecretKeyFactory
物件的演算法名稱。public final SecretKey generateSecret(KeySpec keySpec) throws InvalidKeySpecException
SecretKey
物件。
keySpec
- 秘密密鑰的規範(密鑰材料)
InvalidKeySpecException
- 如果給定密鑰規範不適合產生秘密密鑰的秘密密鑰處理器。public final KeySpec getKeySpec(SecretKey key, Class keySpec) throws InvalidKeySpecException
key
- 密鑰keySpec
- 所請求的格式,密鑰材料將以此格式返回
InvalidKeySpecException
- 如果所請求的密鑰規範不適合給定的密鑰(例如,與 key
和 keySpec
關聯的演算法不比對,或者 key
在加密硬體設備上參考一個密鑰而 keySpec
是基於軟體的密鑰規範),或者無法處理給定的密鑰(例如,給定的密鑰具有此秘密密鑰處理器不支持的演算法或格式)。public final SecretKey translateKey(SecretKey key) throws InvalidKeyException
key
- 其提供者未知或不受信任的密鑰
InvalidKeyException
- 如果此秘密密鑰處理器無法處理給定的密鑰。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。