org.bouncycastle.jce.provider

## Class WrapCipherSpi

- java.lang.Object
- - javax.crypto.CipherSpi
  - - org.bouncycastle.jce.provider.WrapCipherSpi

All Implemented Interfaces:
  PBE

Direct Known Subclasses:
  AES.RFC3211Wrap, AES.Wrap, Camellia.RFC3211Wrap, Camellia.Wrap, JCEBlockCipher, JCEElGamalCipher, JCEIESCipher, JCERSACipher, JCEStreamCipher, SEED.Wrap, WrapCipherSpi.DESEDEWrap, WrapCipherSpi.RC2Wrap, WrapCipherSpi.RFC3211DESedeWrap

    public abstract class WrapCipherSpi
    extends javax.crypto.CipherSpi
    implements PBE

### Nested Class Summary

Nested Classes
`static class` `WrapCipherSpi.DESEDEWrap`
`static class` `WrapCipherSpi.RC2Wrap`
`static class` `WrapCipherSpi.RFC3211DESedeWrap`

### Nested classes/interfaces inherited from interface org.bouncycastle.jce.provider.PBE

`PBE.Util`

### Field Summary

Fields
`protected java.security.AlgorithmParameters` `engineParams`
`protected int` `pbeHash`
`protected int` `pbeIvSize`
`protected int` `pbeKeySize`
`protected int` `pbeType`
`protected Wrapper` `wrapEngine`

### Fields inherited from interface org.bouncycastle.jce.provider.PBE

`MD2, MD5, OPENSSL, PKCS12, PKCS5S1, PKCS5S2, RIPEMD160, SHA1, SHA256, TIGER`

### Constructor Summary

Constructors
`protected` `WrapCipherSpi()`
`protected` `WrapCipherSpi(Wrapper wrapEngine)`
`protected` `WrapCipherSpi(Wrapper wrapEngine, int ivSize)`

### Method Summary

Methods
`protected byte[]` `engineDoFinal(byte[] input, int inputOffset, int inputLen)`
`protected int` `engineDoFinal(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)`
`protected int` `engineGetBlockSize()`
`protected byte[]` `engineGetIV()`
`protected int` `engineGetKeySize(java.security.Key key)`
`protected int` `engineGetOutputSize(int inputLen)`
`protected java.security.AlgorithmParameters` `engineGetParameters()`
`protected void` `engineInit(int opmode, java.security.Key key, java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)`
`protected void` `engineInit(int opmode, java.security.Key key, java.security.AlgorithmParameters params, java.security.SecureRandom random)`
`protected void` `engineInit(int opmode, java.security.Key key, java.security.SecureRandom random)`
`protected void` `engineSetMode(java.lang.String mode)`
`protected void` `engineSetPadding(java.lang.String padding)`
`protected java.security.Key` `engineUnwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, int wrappedKeyType)`
`protected byte[]` `engineUpdate(byte[] input, int inputOffset, int inputLen)`
`protected int` `engineUpdate(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)`
`protected byte[]` `engineWrap(java.security.Key key)`

### Methods inherited from class javax.crypto.CipherSpi

`engineDoFinal, engineUpdate`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### pbeType

    protected int pbeType

#### pbeHash

    protected int pbeHash

#### pbeKeySize

    protected int pbeKeySize

#### pbeIvSize

    protected int pbeIvSize

#### engineParams

    protected java.security.AlgorithmParameters engineParams

#### wrapEngine

    protected Wrapper wrapEngine

### Constructor Detail

#### WrapCipherSpi

    protected WrapCipherSpi()

#### WrapCipherSpi

    protected WrapCipherSpi(Wrapper wrapEngine)

#### WrapCipherSpi

    protected WrapCipherSpi(Wrapper wrapEngine,
                 int ivSize)

### Method Detail

#### engineGetBlockSize

    protected int engineGetBlockSize()

Specified by:
  `engineGetBlockSize` in class `javax.crypto.CipherSpi`

#### engineGetIV

    protected byte[] engineGetIV()

Specified by:
  `engineGetIV` in class `javax.crypto.CipherSpi`

#### engineGetKeySize

    protected int engineGetKeySize(java.security.Key key)

Overrides:
  `engineGetKeySize` in class `javax.crypto.CipherSpi`

#### engineGetOutputSize

    protected int engineGetOutputSize(int inputLen)

Specified by:
  `engineGetOutputSize` in class `javax.crypto.CipherSpi`

#### engineGetParameters

    protected java.security.AlgorithmParameters engineGetParameters()

Specified by:
  `engineGetParameters` in class `javax.crypto.CipherSpi`

#### engineSetMode

    protected void engineSetMode(java.lang.String mode)
                          throws java.security.NoSuchAlgorithmException

Specified by:
  `engineSetMode` in class `javax.crypto.CipherSpi`
Throws:
  `java.security.NoSuchAlgorithmException`

#### engineSetPadding

    protected void engineSetPadding(java.lang.String padding)
                             throws javax.crypto.NoSuchPaddingException

Specified by:
  `engineSetPadding` in class `javax.crypto.CipherSpi`
Throws:
  `javax.crypto.NoSuchPaddingException`

#### engineInit

    protected void engineInit(int opmode,
                  java.security.Key key,
                  java.security.spec.AlgorithmParameterSpec params,
                  java.security.SecureRandom random)
                       throws java.security.InvalidKeyException,
                              java.security.InvalidAlgorithmParameterException

Specified by:
  `engineInit` in class `javax.crypto.CipherSpi`
Throws:
  `java.security.InvalidKeyException`
  `java.security.InvalidAlgorithmParameterException`

#### engineInit

    protected void engineInit(int opmode,
                  java.security.Key key,
                  java.security.AlgorithmParameters params,
                  java.security.SecureRandom random)
                       throws java.security.InvalidKeyException,
                              java.security.InvalidAlgorithmParameterException

Specified by:
  `engineInit` in class `javax.crypto.CipherSpi`
Throws:
  `java.security.InvalidKeyException`
  `java.security.InvalidAlgorithmParameterException`

#### engineInit

    protected void engineInit(int opmode,
                  java.security.Key key,
                  java.security.SecureRandom random)
                       throws java.security.InvalidKeyException

Specified by:
  `engineInit` in class `javax.crypto.CipherSpi`
Throws:
  `java.security.InvalidKeyException`

#### engineUpdate

    protected byte[] engineUpdate(byte[] input,
                      int inputOffset,
                      int inputLen)

Specified by:
  `engineUpdate` in class `javax.crypto.CipherSpi`

#### engineUpdate

    protected int engineUpdate(byte[] input,
                   int inputOffset,
                   int inputLen,
                   byte[] output,
                   int outputOffset)
                        throws javax.crypto.ShortBufferException

Specified by:
  `engineUpdate` in class `javax.crypto.CipherSpi`
Throws:
  `javax.crypto.ShortBufferException`

#### engineDoFinal

    protected byte[] engineDoFinal(byte[] input,
                       int inputOffset,
                       int inputLen)
                            throws javax.crypto.IllegalBlockSizeException,
                                   javax.crypto.BadPaddingException

Specified by:
  `engineDoFinal` in class `javax.crypto.CipherSpi`
Throws:
  `javax.crypto.IllegalBlockSizeException`
  `javax.crypto.BadPaddingException`

#### engineDoFinal

    protected int engineDoFinal(byte[] input,
                    int inputOffset,
                    int inputLen,
                    byte[] output,
                    int outputOffset)
                         throws javax.crypto.IllegalBlockSizeException,
                                javax.crypto.BadPaddingException

Specified by:
  `engineDoFinal` in class `javax.crypto.CipherSpi`
Throws:
  `javax.crypto.IllegalBlockSizeException`
  `javax.crypto.BadPaddingException`

#### engineWrap

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

Overrides:
  `engineWrap` in class `javax.crypto.CipherSpi`
Throws:
  `javax.crypto.IllegalBlockSizeException`
  `java.security.InvalidKeyException`

#### engineUnwrap

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

Overrides:
  `engineUnwrap` in class `javax.crypto.CipherSpi`
Throws:
  `java.security.InvalidKeyException`