Package org.bouncycastle.jcajce.provider.asymmetric.ec

## Class KeyPairGeneratorSpi.EC

- java.lang.Object
- - java.security.KeyPairGeneratorSpi
  - - java.security.KeyPairGenerator
    - - org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi
      - - org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi.EC

- Direct Known Subclasses:
    `KeyPairGeneratorSpi.ECDH`, `KeyPairGeneratorSpi.ECDHC`, `KeyPairGeneratorSpi.ECDSA`, `KeyPairGeneratorSpi.ECMQV`
  Enclosing class:
    KeyPairGeneratorSpi

      public static class KeyPairGeneratorSpi.EC
      extends KeyPairGeneratorSpi

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.bouncycastle.jcajce.provider.asymmetric.ec.KeyPairGeneratorSpi

      `KeyPairGeneratorSpi.EC, KeyPairGeneratorSpi.ECDH, KeyPairGeneratorSpi.ECDHC, KeyPairGeneratorSpi.ECDSA, KeyPairGeneratorSpi.ECMQV`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EC()` |
    `EC​(java.lang.String algorithm, ProviderConfiguration configuration)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected ECKeyGenerationParameters` | `createKeyGenParamsBC​(ECParameterSpec p, java.security.SecureRandom r)` |
    `protected ECKeyGenerationParameters` | `createKeyGenParamsJCE​(java.security.spec.ECParameterSpec p, java.security.SecureRandom r)` |
    `protected ECNamedCurveSpec` | `createNamedCurveSpec​(java.lang.String curveName)` |
    `java.security.KeyPair` | `generateKeyPair()` |
    `void` | `initialize​(int strength, java.security.SecureRandom random)` |
    `void` | `initialize​(java.security.spec.AlgorithmParameterSpec params, java.security.SecureRandom random)` |
    `protected void` | `initializeNamedCurve​(java.lang.String curveName, java.security.SecureRandom random)` |

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

      `genKeyPair, getAlgorithm, getInstance, getInstance, getInstance, getProvider, initialize, initialize`

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

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

- - ### Constructor Detail

    - #### EC

          public EC()

    - #### EC

          public EC​(java.lang.String algorithm,
                    ProviderConfiguration configuration)

  - ### Method Detail

    - #### initialize

          public void initialize​(int strength,
                                 java.security.SecureRandom random)

      Overrides:
        `initialize` in class `java.security.KeyPairGenerator`

    - #### initialize

          public void initialize​(java.security.spec.AlgorithmParameterSpec params,
                                 java.security.SecureRandom random)
                          throws java.security.InvalidAlgorithmParameterException

      Overrides:
        `initialize` in class `java.security.KeyPairGenerator`
      Throws:
        `java.security.InvalidAlgorithmParameterException`

    - #### generateKeyPair

          public java.security.KeyPair generateKeyPair()

      Overrides:
        `generateKeyPair` in class `java.security.KeyPairGenerator`

    - #### createKeyGenParamsBC

          protected ECKeyGenerationParameters createKeyGenParamsBC​(ECParameterSpec p,
                                                                   java.security.SecureRandom r)

    - #### createKeyGenParamsJCE

          protected ECKeyGenerationParameters createKeyGenParamsJCE​(java.security.spec.ECParameterSpec p,
                                                                    java.security.SecureRandom r)

    - #### createNamedCurveSpec

          protected ECNamedCurveSpec createNamedCurveSpec​(java.lang.String curveName)
                                                   throws java.security.InvalidAlgorithmParameterException

      Throws:
        `java.security.InvalidAlgorithmParameterException`

    - #### initializeNamedCurve

          protected void initializeNamedCurve​(java.lang.String curveName,
                                              java.security.SecureRandom random)
                                       throws java.security.InvalidAlgorithmParameterException

      Throws:
        `java.security.InvalidAlgorithmParameterException`