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

## com.ibm.crypto.fips.provider
Class CipherWithWrappingSpi

    java.lang.Object
      |
      +--javax.crypto.CipherSpi
            |
            +--com.ibm.crypto.fips.provider.CipherWithWrappingSpi

All Implemented Interfaces:
  AlgorithmStatus

public abstract class CipherWithWrappingSpi
extends javax.crypto.CipherSpi
implements AlgorithmStatus

This class entends the javax.crypto.CipherSpi class with a concrete implementation of the methods for wrapping and unwrapping keys.

Version:
  1.1, 07/28/99
Author:
  Sharon Liu
See Also:
  `CipherSpi`, `DESCipher`

Constructor Summary
`CipherWithWrappingSpi()`

Method Summary
`protected java.security.Key` | `engineUnwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, int wrappedKeyType)` Unwrap a previously wrapped key.
`protected byte[]` | `engineWrap(java.security.Key key)` Wrap a key.
`protected java.security.Key` | `internalUnwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, int wrappedKeyType)` Unwrap a previously wrapped key.
`protected byte[]` | `internalWrap(java.security.Key key)` Wrap a key.
`boolean` | `isFipsApproved()` Module identifies if the cryptographic operation (algorithm) is FIPS certified

Methods inherited from class javax.crypto.CipherSpi
`engineDoFinal, engineDoFinal, engineGetBlockSize, engineGetIV, engineGetKeySize, engineGetOutputSize, engineGetParameters, engineInit, engineInit, engineInit, engineSetMode, engineSetPadding, engineUpdate, engineUpdate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CipherWithWrappingSpi

    public CipherWithWrappingSpi()

Method Detail

### isFipsApproved

    public boolean isFipsApproved()

  Description copied from interface: `AlgorithmStatus`
  Module identifies if the cryptographic operation (algorithm) is FIPS certified
  Specified by:
    `isFipsApproved` in interface `AlgorithmStatus`
  See Also:
    `AlgorithmStatus.isFipsApproved()`

### engineWrap

    protected final byte[] engineWrap(java.security.Key key)
                               throws javax.crypto.IllegalBlockSizeException,
                                      java.security.InvalidKeyException

  Wrap a key.
  Overrides:
    `engineWrap` in class `javax.crypto.CipherSpi`
  Parameters:
    `key` - the key to be wrapped.
  Returns:
    the wrapped key.
  Throws:
    `javax.crypto.IllegalBlockSizeException` - if this cipher is a block cipher, no padding has been requested, and the length of the encoding of the key to be wrapped is not a multiple of the block size.
    `java.security.InvalidKeyException` - if it is impossible or unsafe to wrap the key with this cipher (e.g., a hardware protected key is being passed to a software only cipher).
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalWrap

    protected final byte[] internalWrap(java.security.Key key)
                                 throws javax.crypto.IllegalBlockSizeException,
                                        java.security.InvalidKeyException

  Wrap a key.
  Parameters:
    `key` - the key to be wrapped.
  Returns:
    the wrapped key.
  Throws:
    `javax.crypto.IllegalBlockSizeException` - if this cipher is a block cipher, no padding has been requested, and the length of the encoding of the key to be wrapped is not a multiple of the block size.
    `java.security.InvalidKeyException` - if it is impossible or unsafe to wrap the key with this cipher (e.g., a hardware protected key is being passed to a software only cipher).

### engineUnwrap

    protected final java.security.Key engineUnwrap(byte[] wrappedKey,
                                                   java.lang.String wrappedKeyAlgorithm,
                                                   int wrappedKeyType)
                                            throws java.security.InvalidKeyException,
                                                   java.security.NoSuchAlgorithmException

  Unwrap a previously wrapped key.
  Overrides:
    `engineUnwrap` in class `javax.crypto.CipherSpi`
  Parameters:
    `wrappedKey` - the key to be unwrapped.
    `wrappedKeyAlgorithm` - the algorithm the wrapped key is for.
    `wrappedKeyType` - the type of the wrapped key. This is one of `Cipher.SECRET_KEY`, `Cipher.PRIVATE_KEY`, or `Cipher.PUBLIC_KEY`.
  Returns:
    the unwrapped key.
  Throws:
    `java.security.InvalidKeyException` - if `wrappedKey` does not represent a wrapped key, or if the algorithm associated with the wrapped key is different from `wrappedKeyAlgorithm` and/or its key type is different from `wrappedKeyType`.
    `java.security.NoSuchAlgorithmException` - if no installed providers can create keys for the `wrappedKeyAlgorithm`.
    `FIPSRuntimeException` - if SelfTest.isFipsRunnable returns false.

### internalUnwrap

    protected final java.security.Key internalUnwrap(byte[] wrappedKey,
                                                     java.lang.String wrappedKeyAlgorithm,
                                                     int wrappedKeyType)
                                              throws java.security.InvalidKeyException,
                                                     java.security.NoSuchAlgorithmException

  Unwrap a previously wrapped key.
  Parameters:
    `wrappedKey` - the key to be unwrapped.
    `wrappedKeyAlgorithm` - the algorithm the wrapped key is for.
    `wrappedKeyType` - the type of the wrapped key. This is one of `Cipher.SECRET_KEY`, `Cipher.PRIVATE_KEY`, or `Cipher.PUBLIC_KEY`.
  Returns:
    the unwrapped key.
  Throws:
    `java.security.InvalidKeyException` - if `wrappedKey` does not represent a wrapped key, or if the algorithm associated with the wrapped key is different from `wrappedKeyAlgorithm` and/or its key type is different from `wrappedKeyType`.
    `java.security.NoSuchAlgorithmException` - if no installed providers can create keys for the `wrappedKeyAlgorithm`.

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