Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mozilla.jss.crypto
Interface KeyWrapper

All Known Implementing Classes:
  PK11KeyWrapper

public abstract 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)`

Method Detail

### 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.

Overview | Package | Class | Tree | Deprecated | Index | Help
| JSS 3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD