|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.crypto.ExemptionMechanism
public class ExemptionMechanism
此類別提供了豁免 (exemption) 機制的功能,例如,密鑰恢復、密鑰喚醒 和密鑰托管。
使用豁免機制的應用程序或 applet 比不使用豁免機制的應用程序或 applet 具有更強的加密性能。
建構子摘要 | |
---|---|
protected |
ExemptionMechanism(ExemptionMechanismSpi exmechSpi,
Provider provider,
String mechanism)
創建 ExemptionMechanism 物件。 |
方法摘要 | |
---|---|
protected void |
finalize()
確保不存在對此 ExemptionMechanism 物件存儲的密鑰的參考時,該密鑰將被除去。 |
byte[] |
genExemptionBlob()
產生豁免機制密鑰 blob。 |
int |
genExemptionBlob(byte[] output)
產生豁免機制密鑰 blob,並將結果存儲在 output 緩衝區中。 |
int |
genExemptionBlob(byte[] output,
int outputOffset)
產生豁免機制密鑰 blob,並將結果存儲在從 outputOffset (包括)開始的 output 緩衝區中。 |
static ExemptionMechanism |
getInstance(String algorithm)
返回實作指定豁免機制演算法的 ExemptionMechanism 物件。 |
static ExemptionMechanism |
getInstance(String algorithm,
Provider provider)
返回實作指定豁免機制演算法的 ExemptionMechanism 物件。 |
static ExemptionMechanism |
getInstance(String algorithm,
String provider)
返回實作指定豁免機制演算法的 ExemptionMechanism 物件。 |
String |
getName()
返回此 ExemptionMechanism 物件的豁免機制名稱。 |
int |
getOutputSize(int inputLen)
根據給定的輸入長度 inputLen (以位元組為單位),返回保存下一個 genExemptionBlob 操作結果所需的輸出緩衝區長度(以位元組為單位)。 |
Provider |
getProvider()
返回此 ExemptionMechanism 物件的提供者。 |
void |
init(Key key)
用密鑰初始化此豁免機制。 |
void |
init(Key key,
AlgorithmParameters params)
用一個密鑰和一組演算法參數初始化此豁免機制。 |
void |
init(Key key,
AlgorithmParameterSpec params)
用一個密鑰和一組演算法參數初始化此豁免機制。 |
boolean |
isCryptoAllowed(Key key)
返回此豁免機制是否已成功產生結果 blob。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
建構子詳細資訊 |
---|
protected ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
exmechSpi
- 代理provider
- 提供者mechanism
- 豁免機制方法詳細資訊 |
---|
public final String getName()
ExemptionMechanism
物件的豁免機制名稱。
這與創建此 ExemptionMechanism
物件的 getInstance
調用之一指定的名稱相同。
ExemptionMechanism
物件的豁免機制名稱。public static final ExemptionMechanism getInstance(String algorithm) throws NoSuchAlgorithmException
ExemptionMechanism
物件。
此方法從首選 Provider 開始遍歷已註冊安全提供者列表。返回一個封裝 ExemptionMechanismSpi 實作的新 ExemptionMechanism 物件,該實作取自支持指定演算法的第一個 Provider。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
algorithm
- 所請求豁免機制的標準名稱。有關標準豁免機制名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。
ExemptionMechanism
物件。
NullPointerException
- 如果 algorithm
為 null。
NoSuchAlgorithmException
- 如果沒有 Provider 支持指定演算法的 ExemptionMechanismSpi 實作。Provider
public static final ExemptionMechanism getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
ExemptionMechanism
物件。
返回一個封裝 ExemptionMechanismSpi 實作的新 ExemptionMechanism 物件,該實作取自指定的提供者。指定提供者必須在安全提供者列表中註冊。
注意,可以通過 Security.getProviders()
方法獲取已註冊提供者列表。
algorithm
- 所請求豁免機制的標準名稱。有關標準豁免機制名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。provider
- 提供者的名稱。
ExemptionMechanism
物件。
NullPointerException
- 如果 algorithm
為 null。
NoSuchAlgorithmException
- 如果不能從指定提供者獲得指定演算法的 ExemptionMechanismSpi 實作。
NoSuchProviderException
- 如果指定提供者未在安全提供者列表中註冊。
IllegalArgumentException
- 如果 provider
為 null 或空。Provider
public static final ExemptionMechanism getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
ExemptionMechanism
物件。
返回一個封裝 ExemptionMechanismSpi 實作的新 ExemptionMechanism 物件,該實作取自指定的 Provider 物件。 注意,指定的 Provider 物件無需在提供者列表中註冊。
algorithm
- 所請求豁免機制的標準名稱。有關標準豁免機制名稱的資訊,請參閱
Java Cryptography Architecture Reference Guide 中的附錄 A。provider
- 提供者。
ExemptionMechanism
物件。
NullPointerException
- 如果 algorithm
為 null。
NoSuchAlgorithmException
- 如果不能從指定 Provider 物件獲得指定演算法的 ExemptionMechanismSpi 實作。
IllegalArgumentException
- 如果 provider
為 null。Provider
public final Provider getProvider()
ExemptionMechanism
物件的提供者。
ExemptionMechanism
物件的提供者。public final boolean isCryptoAllowed(Key key) throws ExemptionMechanismException
該方法還確保了傳入的密鑰與此豁免機制在初始化和產生階段所使用的密鑰相同。
key
- 加密將使用的密鑰。
key
為 null,則返回 false。
ExemptionMechanismException
- 如果在確定此豁免機制物件是否成功產生了結果 blob 的過程中遇到問題。public final int getOutputSize(int inputLen) throws IllegalStateException
inputLen
(以位元組為單位),返回保存下一個 genExemptionBlob
操作結果所需的輸出緩衝區長度(以位元組為單位)。
下一個 genExemptionBlob
調用的實際輸出長度可能小於此方法返回的長度。
inputLen
- 輸入長度(以位元組為單位)
IllegalStateException
- 如果此豁免機制處於錯誤狀態(例如,尚未初始化)public final void init(Key key) throws InvalidKeyException, ExemptionMechanismException
如果此豁免機制需要演算法參數,而參數無法從給定的 key
派生,則底層豁免機制實作應自己產生所需的參數(使用特定於提供者的預設值);如果演算法參數必須由調用者指定,則會引發 InvalidKeyException
。
key
- 用於此豁免機制的密鑰
InvalidKeyException
- 如果給定的密鑰不適合此豁免機制。
ExemptionMechanismException
- 如果初始化過程中遇到問題。public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
如果此豁免機制需要演算法參數,而 params
為 null,則底層豁免機制實作應自己產生所需的參數(使用特定於提供者的預設值);如果演算法參數必須由調用者指定,則會引發 InvalidAlgorithmParameterException
。
key
- 用於此豁免機制的密鑰params
- 演算法參數
InvalidKeyException
- 如果給定的密鑰不適合此豁免機制。
InvalidAlgorithmParameterException
- 如果給定的演算法參數不適合此豁免機制。
ExemptionMechanismException
- 如果初始化過程中遇到問題。public final void init(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
如果此豁免機制需要演算法參數,而 params
為 null,則底層豁免機制實作應自己產生所需的參數(使用特定於提供者的預設值);如果演算法參數必須由調用者指定,則會引發 InvalidAlgorithmParameterException
。
key
- 用於此豁免機制的密鑰params
- 演算法參數
InvalidKeyException
- 如果給定的密鑰不適合此豁免機制。
InvalidAlgorithmParameterException
- 如果給定的演算法參數不適合此豁免機制。
ExemptionMechanismException
- 如果初始化過程中遇到問題。public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException
IllegalStateException
- 如果此豁免機制處於錯誤狀態(例如,尚未初始化)。
ExemptionMechanismException
- 如果產生過程中遇到問題。public final int genExemptionBlob(byte[] output) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
output
緩衝區中。
如果 output
緩衝區太小無法保存該結果,則拋出 ShortBufferException
。這種情況下,使用一個稍大的緩衝區再次調用。使用 getOutputSize
確定輸出緩衝區應為多大。
output
- 用於保存結果的緩衝區
output
中存儲的位元組數
IllegalStateException
- 如果此豁免機制處於錯誤狀態(例如,尚未初始化)。
ShortBufferException
- 如果給定的輸出緩衝區太小無法保存該結果。
ExemptionMechanismException
- 如果產生過程中遇到問題。public final int genExemptionBlob(byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
outputOffset
(包括)開始的 output
緩衝區中。
如果 output
緩衝區太小無法保存該結果,則拋出 ShortBufferException
。這種情況下,使用一個稍大的緩衝區再次調用。使用 getOutputSize
確定輸出緩衝區應為多大。
output
- 用於保存結果的緩衝區outputOffset
- output
中存儲結果處的偏移量
output
中存儲的位元組數
IllegalStateException
- 如果此豁免機制處於錯誤狀態(例如,尚未初始化)。
ShortBufferException
- 如果給定的輸出緩衝區太小無法保存該結果。
ExemptionMechanismException
- 如果產生過程中遇到問題。protected void finalize()
Object
中的 finalize
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。