## Uses of Class
java.security.Provider

- Packages that use Provider
  Package | Description
  --- | ---
  java.security | Provides the classes and interfaces for the security framework.
  java.security.cert | Provides classes and interfaces for parsing and managing certificates, certificate revocation lists (CRLs), and certification paths.
  javax.crypto | Provides the classes and interfaces for cryptographic operations.
  javax.net.ssl | Provides classes for the secure socket package.
  javax.security.auth.login | This package provides a pluggable authentication framework.
  javax.xml.crypto.dsig | Classes for generating and validating XML digital signatures.
  javax.xml.crypto.dsig.keyinfo | Classes for parsing and processing `KeyInfo` elements and structures.
  org.ietf.jgss | This package presents a framework that allows application developers to make use of security services like authentication, data integrity and data confidentiality from a variety of underlying security mechanisms like Kerberos, using a unified API.

- - ### Uses of Provider in java.security

    Subclasses of Provider in java.security
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AuthProvider` This class defines login and logout methods for a provider.

    Methods in java.security that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | KeyPairGenerator.`getProvider()` Returns the provider of this key pair generator object.
    `Provider` | AlgorithmParameterGenerator.`getProvider()` Returns the provider of this algorithm parameter generator object.
    `Provider` | KeyFactory.`getProvider()` Returns the provider of this key factory object.
    `Provider` | Signature.`getProvider()` Returns the provider of this signature object.
    `Provider` | Policy.`getProvider()` Return the Provider of this Policy.
    `Provider` | KeyStore.`getProvider()` Returns the provider of this keystore.
    `Provider` | SecureRandom.`getProvider()` Returns the provider of this SecureRandom object.
    `Provider` | AlgorithmParameters.`getProvider()` Returns the provider of this parameter object.
    `Provider` | MessageDigest.`getProvider()` Returns the provider of this message digest object.
    `Provider` | Provider.Service.`getProvider()` Return the Provider of this service.
    `static Provider` | Security.`getProvider(String name)` Returns the provider installed with the specified name, if any.
    `static Provider[]` | Security.`getProviders()` Returns an array containing all the installed providers.
    `static Provider[]` | Security.`getProviders(Map<String,String> filter)` Returns an array containing all installed providers that satisfy the specified* selection criteria, or null if no such providers have been installed.
    `static Provider[]` | Security.`getProviders(String filter)` Returns an array containing all installed providers that satisfy the specified selection criterion, or null if no such providers have been installed.

    Methods in java.security with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static int` | Security.`addProvider(Provider provider)` Adds a provider to the next position available.
    `static Policy` | Policy.`getInstance(String type, Policy.Parameters params, Provider provider)` Returns a Policy object of the specified type.
    `static KeyPairGenerator` | KeyPairGenerator.`getInstance(String algorithm, Provider provider)` Returns a KeyPairGenerator object that generates public/private key pairs for the specified algorithm.
    `static AlgorithmParameterGenerator` | AlgorithmParameterGenerator.`getInstance(String algorithm, Provider provider)` Returns an AlgorithmParameterGenerator object for generating a set of parameters to be used with the specified algorithm.
    `static KeyFactory` | KeyFactory.`getInstance(String algorithm, Provider provider)` Returns a KeyFactory object that converts public/private keys of the specified algorithm.
    `static Signature` | Signature.`getInstance(String algorithm, Provider provider)` Returns a Signature object that implements the specified signature algorithm.
    `static KeyStore` | KeyStore.`getInstance(String type, Provider provider)` Returns a keystore object of the specified type.
    `static SecureRandom` | SecureRandom.`getInstance(String algorithm, Provider provider)` Returns a SecureRandom object that implements the specified Random Number Generator (RNG) algorithm.
    `static AlgorithmParameters` | AlgorithmParameters.`getInstance(String algorithm, Provider provider)` Returns a parameter object for the specified algorithm.
    `static MessageDigest` | MessageDigest.`getInstance(String algorithm, Provider provider)` Returns a MessageDigest object that implements the specified digest algorithm.
    `static int` | Security.`insertProviderAt(Provider provider, int position)` Adds a new provider, at a specified position.
    `static KeyStore.Builder` | KeyStore.Builder.`newInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection)` Returns a new Builder object.
    `static KeyStore.Builder` | KeyStore.Builder.`newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)` Returns a new Builder object.

    Constructors in java.security with parameters of type Provider
    Constructor and Description
    `AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm)` Creates an AlgorithmParameterGenerator object.
    `AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)` Creates an AlgorithmParameters object.
    `KeyFactory(KeyFactorySpi keyFacSpi, Provider provider, String algorithm)` Creates a KeyFactory object.
    `KeyStore(KeyStoreSpi keyStoreSpi, Provider provider, String type)` Creates a KeyStore object of the given type, and encapsulates the given provider implementation (SPI object) in it.
    `Provider.Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)` Construct a new service.
    `SecureRandom(SecureRandomSpi secureRandomSpi, Provider provider)` Creates a SecureRandom object.

  - ### Uses of Provider in java.security.cert

    Methods in java.security.cert that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | CertPathBuilder.`getProvider()` Returns the provider of this `CertPathBuilder`.
    `Provider` | CertPathValidator.`getProvider()` Returns the `Provider` of this `CertPathValidator`.
    `Provider` | CertStore.`getProvider()` Returns the provider of this `CertStore`.
    `Provider` | CertificateFactory.`getProvider()` Returns the provider of this certificate factory.

    Methods in java.security.cert with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static CertStore` | CertStore.`getInstance(String type, CertStoreParameters params, Provider provider)` Returns a `CertStore` object that implements the specified `CertStore` type.
    `static CertPathBuilder` | CertPathBuilder.`getInstance(String algorithm, Provider provider)` Returns a `CertPathBuilder` object that implements the specified algorithm.
    `static CertPathValidator` | CertPathValidator.`getInstance(String algorithm, Provider provider)` Returns a `CertPathValidator` object that implements the specified algorithm.
    `static CertificateFactory` | CertificateFactory.`getInstance(String type, Provider provider)` Returns a certificate factory object for the specified certificate type.

    Constructors in java.security.cert with parameters of type Provider
    Constructor and Description
    `CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)` Creates a CertificateFactory object of the given type, and encapsulates the given provider implementation (SPI object) in it.
    `CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)` Creates a `CertPathBuilder` object of the given algorithm, and encapsulates the given provider implementation (SPI object) in it.
    `CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)` Creates a `CertPathValidator` object of the given algorithm, and encapsulates the given provider implementation (SPI object) in it.
    `CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)` Creates a `CertStore` object of the given type, and encapsulates the given provider implementation (SPI object) in it.

  - ### Uses of Provider in javax.crypto

    Methods in javax.crypto that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | SecretKeyFactory.`getProvider()` Returns the provider of this `SecretKeyFactory` object.
    `Provider` | Mac.`getProvider()` Returns the provider of this `Mac` object.
    `Provider` | KeyGenerator.`getProvider()` Returns the provider of this `KeyGenerator` object.
    `Provider` | KeyAgreement.`getProvider()` Returns the provider of this `KeyAgreement` object.
    `Provider` | ExemptionMechanism.`getProvider()` Returns the provider of this `ExemptionMechanism` object.
    `Provider` | Cipher.`getProvider()` Returns the provider of this `Cipher` object.

    Methods in javax.crypto with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static SecretKeyFactory` | SecretKeyFactory.`getInstance(String algorithm, Provider provider)` Returns a `SecretKeyFactory` object that converts secret keys of the specified algorithm.
    `static Mac` | Mac.`getInstance(String algorithm, Provider provider)` Returns a `Mac` object that implements the specified MAC algorithm.
    `static KeyGenerator` | KeyGenerator.`getInstance(String algorithm, Provider provider)` Returns a `KeyGenerator` object that generates secret keys for the specified algorithm.
    `static KeyAgreement` | KeyAgreement.`getInstance(String algorithm, Provider provider)` Returns a `KeyAgreement` object that implements the specified key agreement algorithm.
    `static ExemptionMechanism` | ExemptionMechanism.`getInstance(String algorithm, Provider provider)` Returns an `ExemptionMechanism` object that implements the specified exemption mechanism algorithm.
    `static Cipher` | Cipher.`getInstance(String transformation, Provider provider)` Returns a `Cipher` object that implements the specified transformation.
    `PKCS8EncodedKeySpec` | EncryptedPrivateKeyInfo.`getKeySpec(Key decryptKey, Provider provider)` Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.

    Constructors in javax.crypto with parameters of type Provider
    Constructor and Description
    `Cipher(CipherSpi cipherSpi, Provider provider, String transformation)` Creates a Cipher object.
    `ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)` Creates a ExemptionMechanism object.
    `KeyAgreement(KeyAgreementSpi keyAgreeSpi, Provider provider, String algorithm)` Creates a KeyAgreement object.
    `KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)` Creates a KeyGenerator object.
    `Mac(MacSpi macSpi, Provider provider, String algorithm)` Creates a MAC object.
    `SecretKeyFactory(SecretKeyFactorySpi keyFacSpi, Provider provider, String algorithm)` Creates a SecretKeyFactory object.

  - ### Uses of Provider in javax.net.ssl

    Methods in javax.net.ssl that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | TrustManagerFactory.`getProvider()` Returns the provider of this `TrustManagerFactory` object.
    `Provider` | KeyManagerFactory.`getProvider()` Returns the provider of this `KeyManagerFactory` object.
    `Provider` | SSLContext.`getProvider()` Returns the provider of this `SSLContext` object.

    Methods in javax.net.ssl with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static TrustManagerFactory` | TrustManagerFactory.`getInstance(String algorithm, Provider provider)` Returns a `TrustManagerFactory` object that acts as a factory for trust managers.
    `static KeyManagerFactory` | KeyManagerFactory.`getInstance(String algorithm, Provider provider)` Returns a `KeyManagerFactory` object that acts as a factory for key managers.
    `static SSLContext` | SSLContext.`getInstance(String protocol, Provider provider)` Returns a `SSLContext` object that implements the specified secure socket protocol.

    Constructors in javax.net.ssl with parameters of type Provider
    Constructor and Description
    `KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)` Creates a KeyManagerFactory object.
    `SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)` Creates an SSLContext object.
    `TrustManagerFactory(TrustManagerFactorySpi factorySpi, Provider provider, String algorithm)` Creates a TrustManagerFactory object.

  - ### Uses of Provider in javax.security.auth.login

    Methods in javax.security.auth.login that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | Configuration.`getProvider()` Return the Provider of this Configuration.

    Methods in javax.security.auth.login with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static Configuration` | Configuration.`getInstance(String type, Configuration.Parameters params, Provider provider)` Returns a Configuration object of the specified type.

  - ### Uses of Provider in javax.xml.crypto.dsig

    Methods in javax.xml.crypto.dsig that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | XMLSignatureFactory.`getProvider()` Returns the provider of this `XMLSignatureFactory`.
    `Provider` | TransformService.`getProvider()` Returns the provider of this `TransformService`.

    Methods in javax.xml.crypto.dsig with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static XMLSignatureFactory` | XMLSignatureFactory.`getInstance(String mechanismType, Provider provider)` Returns an `XMLSignatureFactory` that supports the requested XML processing mechanism and representation type (ex: "DOM"), as supplied by the specified provider.
    `static TransformService` | TransformService.`getInstance(String algorithm, String mechanismType, Provider provider)` Returns a `TransformService` that supports the specified algorithm URI (ex: `Transform.XPATH2`) and mechanism type (ex: DOM) as supplied by the specified provider.

  - ### Uses of Provider in javax.xml.crypto.dsig.keyinfo

    Methods in javax.xml.crypto.dsig.keyinfo that return Provider
    Modifier and Type | Method and Description
    --- | ---
    `Provider` | KeyInfoFactory.`getProvider()` Returns the provider of this `KeyInfoFactory`.

    Methods in javax.xml.crypto.dsig.keyinfo with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `static KeyInfoFactory` | KeyInfoFactory.`getInstance(String mechanismType, Provider provider)` Returns a `KeyInfoFactory` that supports the requested XML processing mechanism and representation type (ex: "DOM"), as supplied by the specified provider.

  - ### Uses of Provider in org.ietf.jgss

    Methods in org.ietf.jgss with parameters of type Provider
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | GSSManager.`addProviderAtEnd(Provider p, Oid mech)` This method is used to indicate to the GSSManager that the application would like a particular provider to be used if no other provider can be found that supports the given mechanism.
    `abstract void` | GSSManager.`addProviderAtFront(Provider p, Oid mech)` This method is used to indicate to the GSSManager that the application would like a particular provider to be used ahead of all others when support is desired for the given mechanism.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2019, Oracle and/or its affiliates. All rights reserved.