|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.crypto.ExemptionMechanism
public class ExemptionMechanism
此类提供了豁免机制的功能,例如,密钥恢复、密钥唤醒 和密钥托管。
使用豁免机制的应用程序或 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
对象。如果默认的提供程序包提供了请求的豁免机制算法的实现,则会返回包含此实现的一个 ExemptionMechanism
实例。如果默认的提供程序包中没有可用的豁免机制,则将搜索其他的提供程序包。
algorithm
- 所请求的豁免机制的标准名称。有关标准豁免机制名称的信息,请参阅《Java Cryptography Extension Reference Guide》中的附录 A。
ExemptionMechanism
对象
NullPointerException
- 如果 algorithm
为 null。
NoSuchAlgorithmException
- 如果默认的提供程序包中指定的算法不可用,或者搜索到的其他提供程序包都不可用。public static final ExemptionMechanism getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
ExemptionMechanism
对象。
algorithm
- 所请求的豁免机制的标准名称。有关标准豁免机制名称的信息,请参阅《 Java Cryptography Extension Reference Guide》中的附录 A。provider
- 提供程序的名称
ExemptionMechanism
对象
NullPointerException
- 如果 algorithm
为 null。
NoSuchAlgorithmException
- 如果指定的提供程序中未提供指定的算法。
NoSuchProviderException
- 如果指定的提供程序未配置。
IllegalArgumentException
- 如果 provider
为 null。public static final ExemptionMechanism getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
ExemptionMechanism
对象。注:provider
不一定都需要注册。
algorithm
- 所请求的豁免机制的标准名称。有关标准豁免机制名称的信息,请参阅《Java Cryptography Extension Reference Guide》中的附录 A。provider
- 提供程序
ExemptionMechanism
对象
NullPointerException
- 如果 algorithm
为 null。
NoSuchAlgorithmException
- 如果指定的提供程序中未提供指定的算法。
IllegalArgumentException
- 如果 provider
为 null。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. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。