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.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionvoid initWrap(java.security.PublicKey wrappingKey,
java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionvoid initWrap()
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionvoid initUnwrap(SymmetricKey unwrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionvoid initUnwrap(PrivateKey unwrappingKey, java.security.spec.AlgorithmParameterSpec parameters) throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionvoid initUnwrap()
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
java.security.InvalidKeyExceptionjava.security.InvalidAlgorithmParameterExceptionbyte[] wrap(PrivateKey toBeWrapped) throws java.security.InvalidKeyException, java.lang.IllegalStateException, TokenException
java.security.InvalidKeyExceptionjava.lang.IllegalStateExceptionTokenExceptionbyte[] wrap(SymmetricKey toBeWrapped) throws java.security.InvalidKeyException, java.lang.IllegalStateException, TokenException
java.security.InvalidKeyExceptionjava.lang.IllegalStateExceptionTokenExceptionPrivateKey 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.TokenExceptionjava.lang.IllegalStateExceptionPrivateKey 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.TokenExceptionjava.lang.IllegalStateExceptionSymmetricKey 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.TokenExceptionjava.lang.IllegalStateExceptionjava.security.InvalidAlgorithmParameterExceptionSymmetricKey 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).TokenExceptionjava.lang.IllegalStateExceptionjava.security.InvalidAlgorithmParameterException