APIdia Launch Partner
Top Description Constructors Methods
javax.crypto

public abstract Class ExemptionMechanismSpi

extends Object
Class Inheritance
Imports
java.security.Key, .AlgorithmParameters, .InvalidKeyException, .InvalidAlgorithmParameterException, java.security.spec.AlgorithmParameterSpec

This class defines the Service Provider Interface (SPI) for the ExemptionMechanism class. All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular exemption mechanism.
Author
Sharon Liu
Since
1.4

Constructor Summary

AccessConstructor and Description
public
ExemptionMechanismSpi()

Constructor for subclasses to call.

Method Summary

Modifier and TypeMethod and Description
protected abstract byte[]

Returns:

the new buffer with the result key blob.
engineGenExemptionBlob
()

Generates the exemption mechanism key blob.

protected abstract int

Returns:

the number of bytes stored in output
engineGenExemptionBlob
(byte[]
the buffer for the result
output
,
int
the offset in output where the result is stored
outputOffset
)

Generates the exemption mechanism key blob, and stores the result in the output buffer, starting at outputOffset inclusive.

protected abstract int

Returns:

the required output buffer size (in bytes)
engineGetOutputSize
(int
the input length (in bytes)
inputLen
)

Returns the length in bytes that an output buffer would need to be in order to hold the result of the next engineGenExemptionBlob operation, given the input length inputLen (in bytes).

protected abstract void
engineInit(Key
the key for this exemption mechanism
key
)

Initializes this exemption mechanism with a key.

protected abstract void
engineInit(Key
the key for this exemption mechanism
key
,
AlgorithmParameterSpec
the algorithm parameters
params
)

Initializes this exemption mechanism with a key and a set of algorithm parameters.

protected abstract void
engineInit(Key
the key for this exemption mechanism
key
,
AlgorithmParameters
the algorithm parameters
params
)

Initializes this exemption mechanism with a key and a set of algorithm parameters.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ExemptionMechanismSpiback to summary
public ExemptionMechanismSpi()

Constructor for subclasses to call.

Method Detail

engineGenExemptionBlobback to summary
protected abstract byte[] engineGenExemptionBlob() throws ExemptionMechanismException

Generates the exemption mechanism key blob.

Returns:byte[]

the new buffer with the result key blob.

Exceptions
ExemptionMechanismException:
if problem(s) encountered in the process of generating.
engineGenExemptionBlobback to summary
protected abstract int engineGenExemptionBlob(byte[] output, int outputOffset) throws ShortBufferException, ExemptionMechanismException

Generates the exemption mechanism key blob, and stores the result in the output buffer, starting at outputOffset inclusive.

If the output buffer is too small to hold the result, a ShortBufferException is thrown. In this case, repeat this call with a larger output buffer. Use engineGetOutputSize to determine how big the output buffer should be.

Parameters
output:byte[]

the buffer for the result

outputOffset:int

the offset in output where the result is stored

Returns:int

the number of bytes stored in output

Exceptions
ShortBufferException:
if the given output buffer is too small to hold the result.
ExemptionMechanismException:
if problem(s) encountered in the process of generating.
engineGetOutputSizeback to summary
protected abstract int engineGetOutputSize(int inputLen)

Returns the length in bytes that an output buffer would need to be in order to hold the result of the next engineGenExemptionBlob operation, given the input length inputLen (in bytes).

The actual output length of the next engineGenExemptionBlob call may be smaller than the length returned by this method.

Parameters
inputLen:int

the input length (in bytes)

Returns:int

the required output buffer size (in bytes)

engineInitback to summary
protected abstract void engineInit(Key key) throws InvalidKeyException, ExemptionMechanismException

Initializes this exemption mechanism with a key.

If this exemption mechanism requires any algorithm parameters that cannot be derived from the given key, the underlying exemption mechanism implementation is supposed to generate the required parameters itself (using provider-specific default values); in the case that algorithm parameters must be specified by the caller, an InvalidKeyException is raised.

Parameters
key:Key

the key for this exemption mechanism

Exceptions
InvalidKeyException:
if the given key is inappropriate for this exemption mechanism.
ExemptionMechanismException:
if problem(s) encountered in the process of initializing.
engineInitback to summary
protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException

Initializes this exemption mechanism with a key and a set of algorithm parameters.

If this exemption mechanism requires any algorithm parameters and params is null, the underlying exemption mechanism implementation is supposed to generate the required parameters itself (using provider-specific default values); in the case that algorithm parameters must be specified by the caller, an InvalidAlgorithmParameterException is raised.

Parameters
key:Key

the key for this exemption mechanism

params:AlgorithmParameterSpec

the algorithm parameters

Exceptions
InvalidKeyException:
if the given key is inappropriate for this exemption mechanism.
InvalidAlgorithmParameterException:
if the given algorithm parameters are inappropriate for this exemption mechanism.
ExemptionMechanismException:
if problem(s) encountered in the process of initializing.
engineInitback to summary
protected abstract void engineInit(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException

Initializes this exemption mechanism with a key and a set of algorithm parameters.

If this exemption mechanism requires any algorithm parameters and params is null, the underlying exemption mechanism implementation is supposed to generate the required parameters itself (using provider-specific default values); in the case that algorithm parameters must be specified by the caller, an InvalidAlgorithmParameterException is raised.

Parameters
key:Key

the key for this exemption mechanism

params:AlgorithmParameters

the algorithm parameters

Exceptions
InvalidKeyException:
if the given key is inappropriate for this exemption mechanism.
InvalidAlgorithmParameterException:
if the given algorithm parameters are inappropriate for this exemption mechanism.
ExemptionMechanismException:
if problem(s) encountered in the process of initializing.