public interface KeyWrapper
Modifier and Type | Method and Description |
---|---|
void |
initUnwrap()
For plaintext-wrapped keys.
|
void |
initUnwrap(PrivateKey unwrappingKey,
java.security.spec.AlgorithmParameterSpec parameters) |
void |
initUnwrap(SymmetricKey unwrappingKey,
java.security.spec.AlgorithmParameterSpec parameters) |
void |
initWrap()
For wrapping keys in plaintext.
|
void |
initWrap(java.security.PublicKey wrappingKey,
java.security.spec.AlgorithmParameterSpec parameters) |
void |
initWrap(SymmetricKey wrappingKey,
java.security.spec.AlgorithmParameterSpec parameters) |
PrivateKey |
unwrapPrivate(byte[] wrapped,
PrivateKey.Type type,
java.security.PublicKey publicKey)
Unwraps a private key, creating a permanent private key object.
|
SymmetricKey |
unwrapSymmetric(byte[] wrapped,
SymmetricKey.Type type,
int keyLength)
Unwraps a key and allows it to be used for all operations.
|
SymmetricKey |
unwrapSymmetric(byte[] wrapped,
SymmetricKey.Type type,
SymmetricKey.Usage usage,
int keyLength) |
PrivateKey |
unwrapTemporaryPrivate(byte[] wrapped,
PrivateKey.Type type,
java.security.PublicKey publicKey)
Unwraps a private key, creating a temporary private key object.
|
byte[] |
wrap(PrivateKey toBeWrapped) |
byte[] |
wrap(SymmetricKey toBeWrapped) |
void initWrap(SymmetricKey wrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
void initWrap(java.security.PublicKey wrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
void initWrap() throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
void initUnwrap(SymmetricKey unwrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
void initUnwrap(PrivateKey unwrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
void initUnwrap() throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
byte[] wrap(PrivateKey toBeWrapped) throws java.security.InvalidKeyException, java.lang.IllegalStateException, TokenException
java.security.InvalidKeyException
java.lang.IllegalStateException
TokenException
byte[] wrap(SymmetricKey toBeWrapped) throws java.security.InvalidKeyException, java.lang.IllegalStateException, TokenException
java.security.InvalidKeyException
java.lang.IllegalStateException
TokenException
PrivateKey unwrapPrivate(byte[] wrapped, PrivateKey.Type type, java.security.PublicKey publicKey) throws TokenException, java.security.InvalidKeyException, java.lang.IllegalStateException
publicKey
- Used to calculate the key identifier that must be stored
with the private key. Must be a RSAPublicKey
or a
DSAPublicKey
.java.security.InvalidKeyException
- If the type of the public key does not
match the type of the private key to be unwrapped.TokenException
java.lang.IllegalStateException
PrivateKey unwrapTemporaryPrivate(byte[] wrapped, PrivateKey.Type type, java.security.PublicKey publicKey) throws TokenException, java.security.InvalidKeyException, java.lang.IllegalStateException
publicKey
- Used to calculate the key identifier that must be stored
with the private key. Must be a RSAPublicKey
or a
DSAPublicKey
.java.security.InvalidKeyException
- If the type of the public key does not
match the type of the private key to be unwrapped.TokenException
java.lang.IllegalStateException
SymmetricKey unwrapSymmetric(byte[] wrapped, SymmetricKey.Type type, SymmetricKey.Usage usage, int keyLength) throws TokenException, java.lang.IllegalStateException, java.security.InvalidAlgorithmParameterException
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).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.TokenException
java.lang.IllegalStateException
java.security.InvalidAlgorithmParameterException
SymmetricKey unwrapSymmetric(byte[] wrapped, SymmetricKey.Type type, int keyLength) throws TokenException, java.lang.IllegalStateException, java.security.InvalidAlgorithmParameterException
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).TokenException
java.lang.IllegalStateException
java.security.InvalidAlgorithmParameterException