public class ExemptionMechanism extends Object
Implementation note: this class is present for API-compatibility only; it is not actually used anywhere in this library and this library does not, in general, support crypto weakening.
Modifier | Constructor and Description |
---|---|
protected |
ExemptionMechanism(ExemptionMechanismSpi emSpi,
Provider provider,
String mechanism) |
Modifier and Type | Method and Description |
---|---|
protected void |
finalize()
Called on an object by the Virtual Machine at most once,
at some point after the Object is determined unreachable
but before it is destroyed.
|
byte[] |
genExemptionBlob() |
int |
genExemptionBlob(byte[] output) |
int |
genExemptionBlob(byte[] output,
int outputOffset) |
static ExemptionMechanism |
getInstance(String mechanism)
Create an instance of
ExemptionMechanism for a designated
mechanism from the first Security Provider offering it. |
static ExemptionMechanism |
getInstance(String mechanism,
Provider provider)
Create an instance of
ExemptionMechanism for a designated
mechanism from a designated provider . |
static ExemptionMechanism |
getInstance(String mechanism,
String provider)
Create an instance of
ExemptionMechanism for a designated
mechanism from a named provider . |
String |
getName() |
int |
getOutputSize(int inputLength) |
Provider |
getProvider() |
void |
init(Key key) |
void |
init(Key key,
AlgorithmParameters params) |
void |
init(Key key,
AlgorithmParameterSpec params) |
boolean |
isCryptoAllowed(Key key) |
protected ExemptionMechanism(ExemptionMechanismSpi emSpi, Provider provider, String mechanism)
public static final ExemptionMechanism getInstance(String mechanism) throws NoSuchAlgorithmException
ExemptionMechanism
for a designated
mechanism
from the first Security Provider offering it.mechanism
- the name of the exemption mechanism to create.ExemptionMechanism
.IllegalArgumentException
- if the provider is null.NoSuchAlgorithmException
- if no such exemption mechanism is
available from any known Security Provider.IllegalArgumentException
- if mechanism
is
null
or is an empty string.public static final ExemptionMechanism getInstance(String mechanism, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
ExemptionMechanism
for a designated
mechanism
from a named provider
.mechanism
- the name of the exemption mechanism to create.provider
- the security provider to provide the exemption
mechanism
.ExemptionMechanism
.NoSuchAlgorithmException
- if no such exemption mechanism is
available from the named provider
.NoSuchProviderException
- if no Security Provider with the designated
name is known to the underlying JVM.IllegalArgumentException
- if either mechanism
or
provider
is null
, or if
mechanism
is an empty string.public static final ExemptionMechanism getInstance(String mechanism, Provider provider) throws NoSuchAlgorithmException
ExemptionMechanism
for a designated
mechanism
from a designated provider
.mechanism
- the name of the exemption mechanism to create.provider
- the security provider to provide the exemption
mechanism
.ExemptionMechanism
.NoSuchAlgorithmException
- if an exemption mechanism could not be
created.IllegalArgumentException
- if either mechanism
or
provider
is null
, or if
mechanism
is an empty string.public final byte[] genExemptionBlob() throws IllegalStateException, ExemptionMechanismException
public final int genExemptionBlob(byte[] output) throws IllegalStateException, ExemptionMechanismException, ShortBufferException
public final int genExemptionBlob(byte[] output, int outputOffset) throws IllegalStateException, ExemptionMechanismException, ShortBufferException
public final int getOutputSize(int inputLength) throws IllegalStateException
IllegalStateException
public final Provider getProvider()
public final void init(Key key) throws ExemptionMechanismException, InvalidKeyException
public final void init(Key key, AlgorithmParameters params) throws ExemptionMechanismException, InvalidAlgorithmParameterException, InvalidKeyException
public final void init(Key key, AlgorithmParameterSpec params) throws ExemptionMechanismException, InvalidAlgorithmParameterException, InvalidKeyException
public final boolean isCryptoAllowed(Key key) throws ExemptionMechanismException
ExemptionMechanismException
protected void finalize()
Object
java.lang.ref
package.
Virtual Machines are free to not call this method if
they can determine that it does nothing important; for
example, if your class extends Object and overrides
finalize to do simply super.finalize()
.
finalize() will be called by a Thread
that has no
locks on any Objects, and may be called concurrently.
There are no guarantees on the order in which multiple
objects are finalized. This means that finalize() is
usually unsuited for performing actions that must be
thread-safe, and that your implementation must be
use defensive programming if it is to always work.
If an Exception is thrown from finalize() during garbage collection, it will be patently ignored and the Object will still be destroyed.
It is allowed, although not typical, for user code to call finalize() directly. User invocation does not affect whether automatic invocation will occur. It is also permitted, although not recommended, for a finalize() method to "revive" an object by making it reachable from normal code again.
Unlike constructors, finalize() does not get called
for an object's superclass unless the implementation
specifically calls super.finalize()
.
The default implementation does nothing.
finalize
in class Object
System.gc()
,
System.runFinalizersOnExit(boolean)
,
java.lang.ref