Package org.bouncycastle.jcajce.provider.asymmetric.util

## Class BaseCipherSpi

- java.lang.Object
- - javax.crypto.CipherSpi
  - - org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi

- Direct Known Subclasses:
    `CipherSpi`, `CipherSpi`

      public abstract class BaseCipherSpi
      extends javax.crypto.CipherSpi

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected static class` | `BaseCipherSpi.ErasableOutputStream` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.security.AlgorithmParameters` | `engineParams` |
    `protected Wrapper` | `wrapEngine` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `BaseCipherSpi()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.security.AlgorithmParameters` | `createParametersInstance​(java.lang.String algorithm)` |
    `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` | `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[]` | `engineWrap​(java.security.Key key)` |

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

      `engineDoFinal, engineDoFinal, engineDoFinal, engineInit, engineInit, engineInit, engineUpdate, engineUpdate, engineUpdate, engineUpdateAAD, engineUpdateAAD`

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

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

- - ### Field Detail

    - #### engineParams

          protected java.security.AlgorithmParameters engineParams

    - #### wrapEngine

          protected Wrapper wrapEngine

  - ### Constructor Detail

    - #### BaseCipherSpi

          protected BaseCipherSpi()

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

    - #### createParametersInstance

          protected final java.security.AlgorithmParameters createParametersInstance​(java.lang.String algorithm)
                                                                              throws java.security.NoSuchAlgorithmException,
                                                                                     java.security.NoSuchProviderException

      Throws:
        `java.security.NoSuchAlgorithmException`
        `java.security.NoSuchProviderException`

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

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