initUnwrap
public void initUnwrap()
throws InvalidKeyException,
InvalidAlgorithmParameterException
For plaintext-wrapped keys.
initUnwrap
public void initUnwrap(PrivateKey unwrappingKey,
AlgorithmParameterSpec parameters)
throws InvalidKeyException,
InvalidAlgorithmParameterException
initUnwrap
public void initUnwrap(SymmetricKey unwrappingKey,
AlgorithmParameterSpec parameters)
throws InvalidKeyException,
InvalidAlgorithmParameterException
initWrap
public void initWrap()
throws InvalidKeyException,
InvalidAlgorithmParameterException
For wrapping keys in plaintext.
initWrap
public void initWrap(PublicKey wrappingKey,
AlgorithmParameterSpec parameters)
throws InvalidKeyException,
InvalidAlgorithmParameterException
initWrap
public void initWrap(SymmetricKey wrappingKey,
AlgorithmParameterSpec parameters)
throws InvalidKeyException,
InvalidAlgorithmParameterException
unwrapPrivate
public PrivateKey unwrapPrivate(byte[] wrapped,
PrivateKey.Type type,
PublicKey publicKey)
throws TokenException,
InvalidKeyException,
IllegalStateException
Unwraps a private key, creating a permanent private key object.
A permanent private key object resides on a token until it is
explicitly deleted from the token.
publicKey
- Used to calculate the key identifier that must be stored
with the private key. Must be a RSAPublicKey
or a
DSAPublicKey
.
unwrapSymmetric
public SymmetricKey unwrapSymmetric(byte[] wrapped,
SymmetricKey.Type type,
int keyLength)
throws TokenException,
IllegalStateException,
InvalidAlgorithmParameterException
Unwraps a key and allows it to be used for all operations.
keyLength
- The expected length of the key in bytes. This is
only used for variable-length keys (RC4) and non-padding
algorithms. Otherwise, it can be set to anything(like 0).
unwrapSymmetric
public SymmetricKey unwrapSymmetric(byte[] wrapped,
SymmetricKey.Type type,
SymmetricKey.Usage usage,
int keyLength)
throws TokenException,
IllegalStateException,
InvalidAlgorithmParameterException
usage
- The operation the key will be used for after it is
unwrapped. You have to specify this so that the key can be properly
marked with the operation it supports. Some PKCS #11 tokens require
that a key be marked for an operation before it can perform that
operation.keyLength
- The expected length of the key in bytes. This is
only used for variable-length keys (RC4) and non-padding
algorithms. Otherwise, it can be set to anything(like 0).
unwrapTemporaryPrivate
public PrivateKey unwrapTemporaryPrivate(byte[] wrapped,
PrivateKey.Type type,
PublicKey publicKey)
throws TokenException,
InvalidKeyException,
IllegalStateException
Unwraps a private key, creating a temporary private key object.
A temporary
private key is one that does not permanently reside on a token.
As soon as it is garbage-collected, it is gone forever.
publicKey
- Used to calculate the key identifier that must be stored
with the private key. Must be a RSAPublicKey
or a
DSAPublicKey
.