Package org.bouncycastle.pqc.jcajce.provider.rainbow

## Class SignatureSpi

- java.lang.Object
- - java.security.SignatureSpi
  - - org.bouncycastle.pqc.jcajce.provider.rainbow.SignatureSpi

- Direct Known Subclasses:
    `SignatureSpi.withSha224`, `SignatureSpi.withSha256`, `SignatureSpi.withSha384`, `SignatureSpi.withSha512`

      public class SignatureSpi
      extends java.security.SignatureSpi

  Rainbow Signature class, extending the jce SignatureSpi.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `SignatureSpi.withSha224` |
    `static class` | `SignatureSpi.withSha256` |
    `static class` | `SignatureSpi.withSha384` |
    `static class` | `SignatureSpi.withSha512` |

  - ### Field Summary

    - ### Fields inherited from class java.security.SignatureSpi

      `appRandom`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `SignatureSpi​(Digest digest, RainbowSigner signer)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.lang.Object` | `engineGetParameter​(java.lang.String param)` | Deprecated.
    `protected void` | `engineInitSign​(java.security.PrivateKey privateKey)` |
    `protected void` | `engineInitSign​(java.security.PrivateKey privateKey, java.security.SecureRandom random)` |
    `protected void` | `engineInitVerify​(java.security.PublicKey publicKey)` |
    `protected void` | `engineSetParameter​(java.lang.String param, java.lang.Object value)` | Deprecated. replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec)
    `protected void` | `engineSetParameter​(java.security.spec.AlgorithmParameterSpec params)` |
    `protected byte[]` | `engineSign()` |
    `protected void` | `engineUpdate​(byte b)` |
    `protected void` | `engineUpdate​(byte[] b, int off, int len)` |
    `protected boolean` | `engineVerify​(byte[] sigBytes)` |

    - ### Methods inherited from class java.security.SignatureSpi

      `clone, engineGetParameters, engineSign, engineUpdate, engineVerify`

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

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

- - ### Constructor Detail

    - #### SignatureSpi

          protected SignatureSpi​(Digest digest,
                                 RainbowSigner signer)

  - ### Method Detail

    - #### engineInitVerify

          protected void engineInitVerify​(java.security.PublicKey publicKey)
                                   throws java.security.InvalidKeyException

      Specified by:
        `engineInitVerify` in class `java.security.SignatureSpi`
      Throws:
        `java.security.InvalidKeyException`

    - #### engineInitSign

          protected void engineInitSign​(java.security.PrivateKey privateKey,
                                        java.security.SecureRandom random)
                                 throws java.security.InvalidKeyException

      Overrides:
        `engineInitSign` in class `java.security.SignatureSpi`
      Throws:
        `java.security.InvalidKeyException`

    - #### engineInitSign

          protected void engineInitSign​(java.security.PrivateKey privateKey)
                                 throws java.security.InvalidKeyException

      Specified by:
        `engineInitSign` in class `java.security.SignatureSpi`
      Throws:
        `java.security.InvalidKeyException`

    - #### engineUpdate

          protected void engineUpdate​(byte b)
                               throws java.security.SignatureException

      Specified by:
        `engineUpdate` in class `java.security.SignatureSpi`
      Throws:
        `java.security.SignatureException`

    - #### engineUpdate

          protected void engineUpdate​(byte[] b,
                                      int off,
                                      int len)
                               throws java.security.SignatureException

      Specified by:
        `engineUpdate` in class `java.security.SignatureSpi`
      Throws:
        `java.security.SignatureException`

    - #### engineSign

          protected byte[] engineSign()
                               throws java.security.SignatureException

      Specified by:
        `engineSign` in class `java.security.SignatureSpi`
      Throws:
        `java.security.SignatureException`

    - #### engineVerify

          protected boolean engineVerify​(byte[] sigBytes)
                                  throws java.security.SignatureException

      Specified by:
        `engineVerify` in class `java.security.SignatureSpi`
      Throws:
        `java.security.SignatureException`

    - #### engineSetParameter

          protected void engineSetParameter​(java.security.spec.AlgorithmParameterSpec params)

      Overrides:
        `engineSetParameter` in class `java.security.SignatureSpi`

    - #### engineSetParameter

          protected void engineSetParameter​(java.lang.String param,
                                            java.lang.Object value)

      Deprecated.
      replaced with #engineSetParameter(java.security.spec.AlgorithmParameterSpec)
      Specified by:
        `engineSetParameter` in class `java.security.SignatureSpi`

    - #### engineGetParameter

          protected java.lang.Object engineGetParameter​(java.lang.String param)

      Deprecated.
      Specified by:
        `engineGetParameter` in class `java.security.SignatureSpi`