Package org.bouncycastle.jcajce.util

## Interface JcaJceHelper

- All Known Implementing Classes:
    `BCJcaJceHelper`, `DefaultJcaJceHelper`, `NamedJcaJceHelper`, `ProviderJcaJceHelper`

      public interface JcaJceHelper

  Factory interface for instantiating JCA/JCE primitives.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.security.AlgorithmParameterGenerator` | `createAlgorithmParameterGenerator​(java.lang.String algorithm)` |
    `java.security.AlgorithmParameters` | `createAlgorithmParameters​(java.lang.String algorithm)` |
    `java.security.cert.CertificateFactory` | `createCertificateFactory​(java.lang.String algorithm)` |
    `java.security.cert.CertPathBuilder` | `createCertPathBuilder​(java.lang.String algorithm)` |
    `java.security.cert.CertPathValidator` | `createCertPathValidator​(java.lang.String algorithm)` |
    `java.security.cert.CertStore` | `createCertStore​(java.lang.String type, java.security.cert.CertStoreParameters params)` |
    `javax.crypto.Cipher` | `createCipher​(java.lang.String algorithm)` |
    `java.security.MessageDigest` | `createDigest​(java.lang.String algorithm)` | Deprecated. Use createMessageDigest instead
    `javax.crypto.ExemptionMechanism` | `createExemptionMechanism​(java.lang.String algorithm)` |
    `javax.crypto.KeyAgreement` | `createKeyAgreement​(java.lang.String algorithm)` |
    `java.security.KeyFactory` | `createKeyFactory​(java.lang.String algorithm)` |
    `javax.crypto.KeyGenerator` | `createKeyGenerator​(java.lang.String algorithm)` |
    `java.security.KeyPairGenerator` | `createKeyPairGenerator​(java.lang.String algorithm)` |
    `java.security.KeyStore` | `createKeyStore​(java.lang.String type)` |
    `javax.crypto.Mac` | `createMac​(java.lang.String algorithm)` |
    `java.security.MessageDigest` | `createMessageDigest​(java.lang.String algorithm)` |
    `javax.crypto.SecretKeyFactory` | `createSecretKeyFactory​(java.lang.String algorithm)` |
    `java.security.SecureRandom` | `createSecureRandom​(java.lang.String algorithm)` |
    `java.security.Signature` | `createSignature​(java.lang.String algorithm)` |

- - ### Method Detail

    - #### createCipher

          javax.crypto.Cipher createCipher​(java.lang.String algorithm)
                                    throws java.security.NoSuchAlgorithmException,
                                           javax.crypto.NoSuchPaddingException,
                                           java.security.NoSuchProviderException

      Throws:
        `java.security.NoSuchAlgorithmException`
        `javax.crypto.NoSuchPaddingException`
        `java.security.NoSuchProviderException`

    - #### createMac

          javax.crypto.Mac createMac​(java.lang.String algorithm)
                              throws java.security.NoSuchAlgorithmException,
                                     java.security.NoSuchProviderException

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

    - #### createKeyAgreement

          javax.crypto.KeyAgreement createKeyAgreement​(java.lang.String algorithm)
                                                throws java.security.NoSuchAlgorithmException,
                                                       java.security.NoSuchProviderException

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

    - #### createAlgorithmParameterGenerator

          java.security.AlgorithmParameterGenerator createAlgorithmParameterGenerator​(java.lang.String algorithm)
                                                                               throws java.security.NoSuchAlgorithmException,
                                                                                      java.security.NoSuchProviderException

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

    - #### createAlgorithmParameters

          java.security.AlgorithmParameters createAlgorithmParameters​(java.lang.String algorithm)
                                                               throws java.security.NoSuchAlgorithmException,
                                                                      java.security.NoSuchProviderException

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

    - #### createKeyGenerator

          javax.crypto.KeyGenerator createKeyGenerator​(java.lang.String algorithm)
                                                throws java.security.NoSuchAlgorithmException,
                                                       java.security.NoSuchProviderException

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

    - #### createKeyFactory

          java.security.KeyFactory createKeyFactory​(java.lang.String algorithm)
                                             throws java.security.NoSuchAlgorithmException,
                                                    java.security.NoSuchProviderException

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

    - #### createSecretKeyFactory

          javax.crypto.SecretKeyFactory createSecretKeyFactory​(java.lang.String algorithm)
                                                        throws java.security.NoSuchAlgorithmException,
                                                               java.security.NoSuchProviderException

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

    - #### createKeyPairGenerator

          java.security.KeyPairGenerator createKeyPairGenerator​(java.lang.String algorithm)
                                                         throws java.security.NoSuchAlgorithmException,
                                                                java.security.NoSuchProviderException

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

    - #### createDigest

          java.security.MessageDigest createDigest​(java.lang.String algorithm)
                                            throws java.security.NoSuchAlgorithmException,
                                                   java.security.NoSuchProviderException

      Deprecated.
      Use createMessageDigest instead
      Throws:
        `java.security.NoSuchAlgorithmException`
        `java.security.NoSuchProviderException`

    - #### createMessageDigest

          java.security.MessageDigest createMessageDigest​(java.lang.String algorithm)
                                                   throws java.security.NoSuchAlgorithmException,
                                                          java.security.NoSuchProviderException

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

    - #### createSignature

          java.security.Signature createSignature​(java.lang.String algorithm)
                                           throws java.security.NoSuchAlgorithmException,
                                                  java.security.NoSuchProviderException

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

    - #### createCertificateFactory

          java.security.cert.CertificateFactory createCertificateFactory​(java.lang.String algorithm)
                                                                  throws java.security.NoSuchProviderException,
                                                                         java.security.cert.CertificateException

      Throws:
        `java.security.NoSuchProviderException`
        `java.security.cert.CertificateException`

    - #### createSecureRandom

          java.security.SecureRandom createSecureRandom​(java.lang.String algorithm)
                                                 throws java.security.NoSuchAlgorithmException,
                                                        java.security.NoSuchProviderException

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

    - #### createCertPathBuilder

          java.security.cert.CertPathBuilder createCertPathBuilder​(java.lang.String algorithm)
                                                            throws java.security.NoSuchAlgorithmException,
                                                                   java.security.NoSuchProviderException

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

    - #### createCertPathValidator

          java.security.cert.CertPathValidator createCertPathValidator​(java.lang.String algorithm)
                                                                throws java.security.NoSuchAlgorithmException,
                                                                       java.security.NoSuchProviderException

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

    - #### createCertStore

          java.security.cert.CertStore createCertStore​(java.lang.String type,
                                                       java.security.cert.CertStoreParameters params)
                                                throws java.security.NoSuchAlgorithmException,
                                                       java.security.InvalidAlgorithmParameterException,
                                                       java.security.NoSuchProviderException

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

    - #### createExemptionMechanism

          javax.crypto.ExemptionMechanism createExemptionMechanism​(java.lang.String algorithm)
                                                            throws java.security.NoSuchAlgorithmException,
                                                                   java.security.NoSuchProviderException

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

    - #### createKeyStore

          java.security.KeyStore createKeyStore​(java.lang.String type)
                                         throws java.security.KeyStoreException,
                                                java.security.NoSuchProviderException

      Throws:
        `java.security.KeyStoreException`
        `java.security.NoSuchProviderException`