Class SslConfig

java.lang.Object
org.ldaptive.AbstractConfig
org.ldaptive.ssl.SslConfig

public class SslConfig extends AbstractConfig
Contains all the configuration data for SSL and startTLS.
  • Field Details

    • credentialConfig

      private CredentialConfig credentialConfig
      Configuration for the trust and authentication material to use for SSL and startTLS.
    • trustManagers

      private TrustManager[] trustManagers
      Trust managers.
    • hostnameVerifier

      private CertificateHostnameVerifier hostnameVerifier
      Certificate hostname verifier.
    • enabledCipherSuites

      private String[] enabledCipherSuites
      Enabled cipher suites.
    • enabledProtocols

      private String[] enabledProtocols
      Enabled protocol versions.
    • handshakeCompletedListeners

      private HandshakeCompletedListener[] handshakeCompletedListeners
      Handshake completed listeners.
    • handshakeTimeout

      private Duration handshakeTimeout
      Duration of time that handshakes will block.
  • Constructor Details

    • SslConfig

      public SslConfig()
      Default constructor.
    • SslConfig

      public SslConfig(CredentialConfig config)
      Creates a new ssl config.
      Parameters:
      config - credential config
    • SslConfig

      public SslConfig(TrustManager... managers)
      Creates a new ssl config.
      Parameters:
      managers - trust managers
    • SslConfig

      public SslConfig(CredentialConfig config, TrustManager... managers)
      Creates a new ssl config.
      Parameters:
      config - credential config
      managers - trust managers
  • Method Details

    • isEmpty

      public boolean isEmpty()
      Returns whether this ssl config contains any configuration data.
      Returns:
      whether all properties are null
    • getCredentialConfig

      public CredentialConfig getCredentialConfig()
      Returns the credential config.
      Returns:
      credential config
    • setCredentialConfig

      public void setCredentialConfig(CredentialConfig config)
      Sets the credential config.
      Parameters:
      config - credential config
    • getTrustManagers

      public TrustManager[] getTrustManagers()
      Returns the trust managers.
      Returns:
      trust managers
    • setTrustManagers

      public void setTrustManagers(TrustManager... managers)
      Sets the trust managers.
      Parameters:
      managers - trust managers
    • getHostnameVerifier

      public CertificateHostnameVerifier getHostnameVerifier()
      Returns the hostname verifier.
      Returns:
      hostname verifier
    • setHostnameVerifier

      public void setHostnameVerifier(CertificateHostnameVerifier verifier)
      Sets the hostname verifier.
      Parameters:
      verifier - hostname verifier
    • getEnabledCipherSuites

      public String[] getEnabledCipherSuites()
      Returns the names of the SSL cipher suites to use for secure connections.
      Returns:
      cipher suites
    • setEnabledCipherSuites

      public void setEnabledCipherSuites(String... suites)
      Sets the SSL cipher suites to use for secure connections.
      Parameters:
      suites - cipher suites
    • getEnabledProtocols

      public String[] getEnabledProtocols()
      Returns the names of the SSL protocols to use for secure connections.
      Returns:
      enabled protocols
    • setEnabledProtocols

      public void setEnabledProtocols(String... protocols)
      Sets the SSL protocol versions to use for secure connections.
      Parameters:
      protocols - enabled protocols
    • getHandshakeCompletedListeners

      public HandshakeCompletedListener[] getHandshakeCompletedListeners()
      Returns the handshake completed listeners to use for secure connections.
      Returns:
      handshake completed listeners
    • setHandshakeCompletedListeners

      public void setHandshakeCompletedListeners(HandshakeCompletedListener... listeners)
      Sets the handshake completed listeners to use for secure connections.
      Parameters:
      listeners - for SSL handshake events
    • getHandshakeTimeout

      public Duration getHandshakeTimeout()
      Returns the handshake timeout.
      Returns:
      timeout
    • setHandshakeTimeout

      public void setHandshakeTimeout(Duration time)
      Sets the maximum amount of time that handshakes will block.
      Parameters:
      time - timeout for handshakes
    • copy

      public static SslConfig copy(SslConfig config)
      Returns a ssl config initialized with the supplied config.
      Parameters:
      config - ssl config to read properties from
      Returns:
      ssl config
    • createSSLContextInitializer

      public SSLContextInitializer createSSLContextInitializer() throws GeneralSecurityException
      Creates an SSLContextInitializer from this configuration. If a CredentialConfig is provided it is used, otherwise a DefaultSSLContextInitializer is created.
      Returns:
      SSL context initializer
      Throws:
      GeneralSecurityException - if the SSL context initializer cannot be created
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • builder

      public static SslConfig.Builder builder()
      Creates a builder for this class.
      Returns:
      new builder