Class SslConfig

  • All Implemented Interfaces:
    Freezable

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

      • credentialConfig

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

        private TrustManager[] trustManagers
        Trust managers.
      • enabledCipherSuites

        private String[] enabledCipherSuites
        Enabled cipher suites.
      • enabledProtocols

        private String[] enabledProtocols
        Enabled protocol versions.
      • handshakeTimeout

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

      • 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 Detail

      • 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
      • builder

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