Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.ssl
Class SSLContextBuilder

    java.lang.Object
      org.apache.http.ssl.SSLContextBuilder

    public class SSLContextBuilder

extends Object

Builder for `SSLContext` instances.

Please note: the default Oracle JSSE implementation of `SSLContext.init(KeyManager[], TrustManager[], SecureRandom)` accepts multiple key and trust managers, however only only first matching type is ever used. See for example: SSLContext.html#init

TODO Specify which Oracle JSSE versions the above has been verified.

Since:
  4.4

Constructor Summary
`SSLContextBuilder()`

Method Summary
`SSLContext` | `build()`
`static SSLContextBuilder` | `create()`
`protected void` | `initSSLContext(SSLContext sslContext, Collection<KeyManager> keyManagers, Collection<TrustManager> trustManagers, SecureRandom secureRandom)`
`SSLContextBuilder` | `loadKeyMaterial(File file, char[] storePassword, char[] keyPassword)`
`SSLContextBuilder` | `loadKeyMaterial(File file, char[] storePassword, char[] keyPassword, PrivateKeyStrategy aliasStrategy)`
`SSLContextBuilder` | `loadKeyMaterial(KeyStore keystore, char[] keyPassword)`
`SSLContextBuilder` | `loadKeyMaterial(KeyStore keystore, char[] keyPassword, PrivateKeyStrategy aliasStrategy)`
`SSLContextBuilder` | `loadKeyMaterial(URL url, char[] storePassword, char[] keyPassword)`
`SSLContextBuilder` | `loadKeyMaterial(URL url, char[] storePassword, char[] keyPassword, PrivateKeyStrategy aliasStrategy)`
`SSLContextBuilder` | `loadTrustMaterial(File file)`
`SSLContextBuilder` | `loadTrustMaterial(File file, char[] storePassword)`
`SSLContextBuilder` | `loadTrustMaterial(File file, char[] storePassword, TrustStrategy trustStrategy)`
`SSLContextBuilder` | `loadTrustMaterial(KeyStore truststore, TrustStrategy trustStrategy)`
`SSLContextBuilder` | `loadTrustMaterial(TrustStrategy trustStrategy)`
`SSLContextBuilder` | `loadTrustMaterial(URL url, char[] storePassword)`
`SSLContextBuilder` | `loadTrustMaterial(URL url, char[] storePassword, TrustStrategy trustStrategy)`
`SSLContextBuilder` | `setKeyManagerFactoryAlgorithm(String keyManagerFactoryAlgorithm)` Sets the key manager factory algorithm name.
`SSLContextBuilder` | `setKeyStoreType(String keyStoreType)` Sets the key store type.
`SSLContextBuilder` | `setProtocol(String protocol)` Sets the SSLContext protocol algorithm name.
`SSLContextBuilder` | `setProvider(Provider provider)`
`SSLContextBuilder` | `setProvider(String name)`
`SSLContextBuilder` | `setSecureRandom(SecureRandom secureRandom)`
`SSLContextBuilder` | `setTrustManagerFactoryAlgorithm(String trustManagerFactoryAlgorithm)` Sets the trust manager factory algorithm name.
`String` | `toString()`
`SSLContextBuilder` | `useProtocol(String protocol)` Deprecated. Use `setProtocol(String)`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SSLContextBuilder

    public SSLContextBuilder()

Method Detail

### create

    public static SSLContextBuilder create()

### useProtocol

    @Deprecated
    public SSLContextBuilder useProtocol(String protocol)

  Deprecated. Use `setProtocol(String)`.

  Sets the SSLContext protocol algorithm name.

  Parameters:
    `protocol` - the SSLContext protocol algorithm name of the requested protocol. See the SSLContext section in the Java Cryptography Architecture Standard Algorithm Name Documentation for more information.
  Returns:
    this builder
  See Also:
    Java Cryptography Architecture Standard Algorithm Name Documentation

### setProtocol

    public SSLContextBuilder setProtocol(String protocol)

  Sets the SSLContext protocol algorithm name.

  Parameters:
    `protocol` - the SSLContext protocol algorithm name of the requested protocol. See the SSLContext section in the Java Cryptography Architecture Standard Algorithm Name Documentation for more information.
  Returns:
    this builder
  Since:
    4.4.7
  See Also:
    Java Cryptography Architecture Standard Algorithm Name Documentation

### setSecureRandom

    public SSLContextBuilder setSecureRandom(SecureRandom secureRandom)

### setProvider

    public SSLContextBuilder setProvider(Provider provider)

### setProvider

    public SSLContextBuilder setProvider(String name)

### setKeyStoreType

    public SSLContextBuilder setKeyStoreType(String keyStoreType)

  Sets the key store type.

  Parameters:
    `keyStoreType` - the SSLkey store type. See the KeyStore section in the Java Cryptography Architecture Standard Algorithm Name Documentation for more information.
  Returns:
    this builder
  Since:
    4.4.7
  See Also:
    Java Cryptography Architecture Standard Algorithm Name Documentation

### setKeyManagerFactoryAlgorithm

    public SSLContextBuilder setKeyManagerFactoryAlgorithm(String keyManagerFactoryAlgorithm)

  Sets the key manager factory algorithm name.

  Parameters:
    `keyManagerFactoryAlgorithm` - the key manager factory algorithm name of the requested protocol. See the KeyManagerFactory section in the Java Cryptography Architecture Standard Algorithm Name Documentation for more information.
  Returns:
    this builder
  Since:
    4.4.7
  See Also:
    Java Cryptography Architecture Standard Algorithm Name Documentation

### setTrustManagerFactoryAlgorithm

    public SSLContextBuilder setTrustManagerFactoryAlgorithm(String trustManagerFactoryAlgorithm)

  Sets the trust manager factory algorithm name.

  Parameters:
    `trustManagerFactoryAlgorithm` - the trust manager algorithm name of the requested protocol. See the TrustManagerFactory section in the Java Cryptography Architecture Standard Algorithm Name Documentation for more information.
  Returns:
    this builder
  Since:
    4.4.7
  See Also:
    Java Cryptography Architecture Standard Algorithm Name Documentation

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(KeyStore truststore,
                                               TrustStrategy trustStrategy)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(TrustStrategy trustStrategy)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(File file,
                                               char[] storePassword,
                                               TrustStrategy trustStrategy)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException,
                                               CertificateException,
                                               IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `CertificateException`
    `IOException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(File file,
                                               char[] storePassword)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException,
                                               CertificateException,
                                               IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `CertificateException`
    `IOException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(File file)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException,
                                               CertificateException,
                                               IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `CertificateException`
    `IOException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(URL url,
                                               char[] storePassword,
                                               TrustStrategy trustStrategy)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException,
                                               CertificateException,
                                               IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `CertificateException`
    `IOException`

### loadTrustMaterial

    public SSLContextBuilder loadTrustMaterial(URL url,
                                               char[] storePassword)
                                        throws NoSuchAlgorithmException,
                                               KeyStoreException,
                                               CertificateException,
                                               IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `CertificateException`
    `IOException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(KeyStore keystore,
                                             char[] keyPassword,
                                             PrivateKeyStrategy aliasStrategy)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(KeyStore keystore,
                                             char[] keyPassword)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(File file,
                                             char[] storePassword,
                                             char[] keyPassword,
                                             PrivateKeyStrategy aliasStrategy)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException,
                                             CertificateException,
                                             IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`
    `CertificateException`
    `IOException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(File file,
                                             char[] storePassword,
                                             char[] keyPassword)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException,
                                             CertificateException,
                                             IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`
    `CertificateException`
    `IOException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(URL url,
                                             char[] storePassword,
                                             char[] keyPassword,
                                             PrivateKeyStrategy aliasStrategy)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException,
                                             CertificateException,
                                             IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`
    `CertificateException`
    `IOException`

### loadKeyMaterial

    public SSLContextBuilder loadKeyMaterial(URL url,
                                             char[] storePassword,
                                             char[] keyPassword)
                                      throws NoSuchAlgorithmException,
                                             KeyStoreException,
                                             UnrecoverableKeyException,
                                             CertificateException,
                                             IOException

  Throws:
    `NoSuchAlgorithmException`
    `KeyStoreException`
    `UnrecoverableKeyException`
    `CertificateException`
    `IOException`

### initSSLContext

    protected void initSSLContext(SSLContext sslContext,
                                  Collection<KeyManager> keyManagers,
                                  Collection<TrustManager> trustManagers,
                                  SecureRandom secureRandom)
                           throws KeyManagementException

  Throws:
    `KeyManagementException`

### build

    public SSLContext build()
                     throws NoSuchAlgorithmException,
                            KeyManagementException

  Throws:
    `NoSuchAlgorithmException`
    `KeyManagementException`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.