public class ExemptionMechanism extends Object
应用程序或程序使用免责机制可以获得更强的加密功能,比那些没有。
Modifier | Constructor and Description |
---|---|
protected |
ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)
创建一个exemptionmechanism对象。
|
Modifier and Type | Method and Description |
---|---|
protected void |
finalize()
确保密钥存放的exemptionmechanism对象将被消灭的时候,没有对它的引用。
|
byte[] |
genExemptionBlob()
产生的免责机制的关键点。
|
int |
genExemptionBlob(byte[] output)
生成密钥blob豁免机制,并存储在
output 缓冲效果。
|
int |
genExemptionBlob(byte[] output, int outputOffset)
生成密钥blob豁免机制,并存储在
output 缓冲的结果,从
outputOffset 包容。
|
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)
返回的字节长度,输出缓冲区将需要为了保持下一
genExemptionBlob 操作的结果,给定输入的长度(以字节为单位)
inputLen 。
|
Provider |
getProvider()
返回该对象的
ExemptionMechanism 提供者。
|
void |
init(Key key)
一个关键的初始化这个免责机制。
|
void |
init(Key key, AlgorithmParameters params)
用钥匙和一套算法参数初始化这个免责机制。
|
void |
init(Key key, AlgorithmParameterSpec params)
用钥匙和一套算法参数初始化这个免责机制。
|
boolean |
isCryptoAllowed(Key key)
返回结果是否被豁免机制滴成功生成。
|
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对象封装exemptionmechanismspi实施支持指定算法的第一供应商返回。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-请求免责机制的标准名称。看到有关标准免税机构名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的exemptionmechanism节。
ExemptionMechanism
对象。
NullPointerException
-如果
algorithm
是空的。
NoSuchAlgorithmException
-如果没有供应商的支持exemptionmechanismspi指定的算法实现。
Provider
public static final ExemptionMechanism getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
ExemptionMechanism
对象实现指定的免责机制的算法。
一个新的exemptionmechanism对象封装exemptionmechanismspi实现从指定的提供程序返回。指定的提供程序必须在安全提供程序列表中注册。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-请求免责机制的标准名称。看到有关标准免税机构名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的exemptionmechanism节。
provider
-提供者的名称。
ExemptionMechanism
对象。
NullPointerException
-如果
algorithm
是空的。
NoSuchAlgorithmException
-如果指定算法的一个exemptionmechanismspi执行不可从指定的供应商。
NoSuchProviderException
-如果指定的供应商不在安全提供商注册名单。
IllegalArgumentException
-如果
provider
是null或空。
Provider
public static final ExemptionMechanism getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
ExemptionMechanism
对象实现指定的免责机制的算法。
一个新的exemptionmechanism对象封装exemptionmechanismspi实现从指定的提供程序对象返回。请注意,指定的提供程序对象不必在提供者列表中注册。
algorithm
-请求免责机制的标准名称。看到有关标准免税机构名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的exemptionmechanism节。
provider
-供应商。
ExemptionMechanism
对象。
NullPointerException
-如果
algorithm
是空的。
NoSuchAlgorithmException
-如果指定算法的一个exemptionmechanismspi实现不可从指定的提供程序对象。
IllegalArgumentException
-如果
provider
是空的。
Provider
public final Provider getProvider()
ExemptionMechanism
提供者。
ExemptionMechanism
对象的提供者。
public final boolean isCryptoAllowed(Key key) throws ExemptionMechanismException
该方法还可以确保密钥是作为一本免责机制用于初始化生成阶段相同。
key
-关键是要使用密码。
key
是空的。
ExemptionMechanismException
如果问题(S)测定结果是否被豁免机制blob对象成功生成时遇到。
public final int getOutputSize(int inputLen) throws IllegalStateException
genExemptionBlob
操作的结果,给定输入的长度(以字节为单位)
inputLen
。
第二genExemptionBlob
称实际输出的长度可以小于由该方法返回的长度。
inputLen
-输入长度(以字节为单位)
IllegalStateException
如果豁免机制是错误的状态(例如,尚未初始化)
public final void init(Key key) throws InvalidKeyException, ExemptionMechanismException
如果这项豁免机制需要任何算法的参数不能被来自给定的key
,底层的免责机制的实现应该是生成所需的参数本身(使用提供程序特定的默认值);在这种情况下,算法的参数必须由调用方指定,一个InvalidKeyException
升起。
key
-这种豁免机制的关键
InvalidKeyException
-如果它的键是不适合这种豁免机制。
ExemptionMechanismException
如果问题(S)在初始化过程中遇到。
public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
如果这项豁免机制需要任何算法参数和params
是空的,底层的免责机制的实现应该是生成所需的参数本身(使用提供程序特定的默认值);在这种情况下,算法的参数必须由调用方指定,一个InvalidAlgorithmParameterException
升起。
key
-这种豁免机制的关键
params
-算法参数
InvalidKeyException
-如果它的键是不适合这种豁免机制。
InvalidAlgorithmParameterException
-如果给定的算法参数的豁免机制是不合适的。
ExemptionMechanismException
如果问题(S)在初始化过程中遇到。
public final void init(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
如果这项豁免机制需要任何算法参数和params
是空的,底层的免责机制的实现应该是生成所需的参数本身(使用提供程序特定的默认值);在这种情况下,算法的参数必须由调用方指定,一个InvalidAlgorithmParameterException
升起。
key
-这种豁免机制的关键
params
-算法参数
InvalidKeyException
-如果它的键是不适合这种豁免机制。
InvalidAlgorithmParameterException
-如果给定的算法参数的豁免机制是不合适的。
ExemptionMechanismException
如果问题(S)在初始化过程中遇到。
public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException
IllegalStateException
如果豁免机制是错误的状态(例如,尚未初始化)。
ExemptionMechanismException
如果问题(S)在生成过程中遇到。
public final int genExemptionBlob(byte[] output) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
output
缓冲效果。
如果output
缓冲太小装不下的结果,一个ShortBufferException
抛出。在这种情况下,重复此调用具有较大的输出缓冲区。使用getOutputSize
确定多大的输出缓冲区应。
output
-结果缓冲区
output
字节数
IllegalStateException
如果豁免机制是错误的状态(例如,尚未初始化)。
ShortBufferException
如果给定的输出缓冲区太小,保存结果。
ExemptionMechanismException
如果问题(S)在生成过程中遇到。
public final int genExemptionBlob(byte[] output, int outputOffset) throws IllegalStateException, ShortBufferException, ExemptionMechanismException
output
缓冲的结果,从
outputOffset
包容。
如果output
缓冲太小装不下的结果,一个ShortBufferException
抛出。在这种情况下,重复此调用具有较大的输出缓冲区。使用getOutputSize
确定多大的输出缓冲区应。
output
-结果缓冲区
outputOffset
-抵消
output
哪里结果存储
output
字节数
IllegalStateException
如果豁免机制是错误的状态(例如,尚未初始化)。
ShortBufferException
如果给定的输出缓冲区太小,保存结果。
ExemptionMechanismException
如果问题(S)在生成过程中遇到。
protected void finalize()
finalize
方法重写,继承类
Object
WeakReference
,
PhantomReference
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.