org.mozilla.jss.crypto
Interface KeyWrapper
- All Known Implementing Classes:
- PK11KeyWrapper
- public interface KeyWrapper
Method Summary |
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,
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)
|
initWrap
public void initWrap(SymmetricKey wrappingKey,
java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
initWrap
public void initWrap(java.security.PublicKey wrappingKey,
java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
initWrap
public void initWrap()
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
- For wrapping keys in plaintext.
initUnwrap
public void initUnwrap(SymmetricKey unwrappingKey,
java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
initUnwrap
public void initUnwrap(PrivateKey unwrappingKey,
java.security.spec.AlgorithmParameterSpec parameters)
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
initUnwrap
public void initUnwrap()
throws java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException
- For plaintext-wrapped keys.
wrap
public byte[] wrap(PrivateKey toBeWrapped)
throws java.security.InvalidKeyException,
java.lang.IllegalStateException,
TokenException
wrap
public byte[] wrap(SymmetricKey toBeWrapped)
throws java.security.InvalidKeyException,
java.lang.IllegalStateException,
TokenException
unwrapPrivate
public PrivateKey unwrapPrivate(byte[] wrapped,
PrivateKey.Type type,
java.security.PublicKey publicKey)
throws TokenException,
java.security.InvalidKeyException,
java.lang.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.
- Throws:
java.security.InvalidKeyException
- If the type of the public key does not
match the type of the private key to be unwrapped.
unwrapTemporaryPrivate
public PrivateKey unwrapTemporaryPrivate(byte[] wrapped,
PrivateKey.Type type,
java.security.PublicKey publicKey)
throws TokenException,
java.security.InvalidKeyException,
java.lang.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.
- Throws:
java.security.InvalidKeyException
- If the type of the public key does not
match the type of the private key to be unwrapped.
unwrapSymmetric
public SymmetricKey unwrapSymmetric(byte[] wrapped,
SymmetricKey.Type type,
SymmetricKey.Usage usage,
int keyLength)
throws TokenException,
java.lang.IllegalStateException,
java.security.InvalidAlgorithmParameterException
- Parameters:
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.