Package org.bouncycastle.pqc.jcajce.provider.test

## Class RainbowSignatureTest

- java.lang.Object
- - junit.framework.Assert
  - - junit.framework.TestCase
    - - org.bouncycastle.pqc.jcajce.provider.test.RainbowSignatureTest

- All Implemented Interfaces:
    `junit.framework.Test`

      public class RainbowSignatureTest
      extends junit.framework.TestCase

  Test cases for the use of Rainbow with the BCPQC provider.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.security.KeyPairGenerator` | `kpg` |
    `protected java.security.Signature` | `sig` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RainbowSignatureTest()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `byte[]` | `getBytesFromFile​(java.io.File file)` |
    `java.security.PublicKey` | `getPublicKey​(java.lang.String file)` |
    `protected void` | `performSignVerifyTest​(int numPassesKPG, int numPassesSigVer, int keySize)` | Test signature generation and verification
    `protected void` | `performSignVerifyTest​(int numPassesKPG, int numPassesSigVer, java.security.spec.AlgorithmParameterSpec kpgParams)` | Test signature generation and verification
    `protected void` | `performSignVerifyTest​(int numPassesKPG, int numPassesSigVer, java.security.spec.AlgorithmParameterSpec kpgParams, int messageSize)` | Test signature generation and verification
    `void` | `setUp()` |
    `void` | `test_KeyFactory()` |
    `void` | `testRainbowithSHA256()` |
    `void` | `testRainbowWithSHA224()` | Using ParameterSpecs to initialize the key pair generator without initialization.
    `void` | `testRainbowWithSHA384()` |
    `void` | `testRainbowWithSHA512()` |
    `void` | `testSignVerifyWithDefaultParams()` |
    `void` | `testSignVerifyWithRandomParams()` |

    - ### Methods inherited from class junit.framework.TestCase

      `assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, countTestCases, createResult, fail, fail, failNotEquals, failNotSame, failSame, format, getName, run, run, runBare, runTest, setName, tearDown, toString`

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

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

- - ### Field Detail

    - #### kpg

          protected java.security.KeyPairGenerator kpg

    - #### sig

          protected java.security.Signature sig

  - ### Constructor Detail

    - #### RainbowSignatureTest

          public RainbowSignatureTest()

  - ### Method Detail

    - #### setUp

          public void setUp()

      Overrides:
        `setUp` in class `junit.framework.TestCase`

    - #### performSignVerifyTest

          protected final void performSignVerifyTest​(int numPassesKPG,
                                                     int numPassesSigVer,
                                                     java.security.spec.AlgorithmParameterSpec kpgParams)
                                              throws java.lang.Exception

      Test signature generation and verification
      Parameters:
        `numPassesKPG` - the number of key pair generation passes
        `numPassesSigVer` - the number of sign/verify passes
        `kpgParams` - the parameters for the key pair generator
      Throws:
        `java.lang.Exception`

    - #### performSignVerifyTest

          protected final void performSignVerifyTest​(int numPassesKPG,
                                                     int numPassesSigVer,
                                                     java.security.spec.AlgorithmParameterSpec kpgParams,
                                                     int messageSize)
                                              throws java.lang.Exception

      Test signature generation and verification
      Parameters:
        `numPassesKPG` - the number of key pair generation passes
        `numPassesSigVer` - the number of sign/verify passes
        `kpgParams` - the parameters for the key pair generator
        `messageSize` - length of the messages which are signed in bytes
      Throws:
        `java.lang.Exception`

    - #### performSignVerifyTest

          protected final void performSignVerifyTest​(int numPassesKPG,
                                                     int numPassesSigVer,
                                                     int keySize)
                                              throws java.lang.Exception

      Test signature generation and verification
      Parameters:
        `numPassesKPG` - the number of key pair generation passes
        `numPassesSigVer` - the number of sign/verify passes
        `keySize` - the key size for the key pair generator
      Throws:
        `java.lang.Exception`

    - #### testRainbowWithSHA224

          public void testRainbowWithSHA224()
                                     throws java.lang.Exception

      Using ParameterSpecs to initialize the key pair generator without initialization.
      Throws:
        `java.lang.Exception`

    - #### testRainbowithSHA256

          public void testRainbowithSHA256()
                                    throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testRainbowWithSHA384

          public void testRainbowWithSHA384()
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testRainbowWithSHA512

          public void testRainbowWithSHA512()
                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### test_KeyFactory

          public void test_KeyFactory()
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testSignVerifyWithRandomParams

          public void testSignVerifyWithRandomParams()
                                              throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### testSignVerifyWithDefaultParams

          public void testSignVerifyWithDefaultParams()
                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getPublicKey

          public java.security.PublicKey getPublicKey​(java.lang.String file)
                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### getBytesFromFile

          public byte[] getBytesFromFile​(java.io.File file)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`