@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final HttpTlsConfiguration that = (HttpTlsConfiguration) o;
        return trustSelfSignedCertificates == that.trustSelfSignedCertificates &&
               verifyHostname == that.verifyHostname &&
               Objects.equals(protocol, that.protocol) &&
               Objects.equals(provider, that.provider) &&
               Objects.equals(keyStorePath, that.keyStorePath) &&
               Objects.equals(keyStorePassword, that.keyStorePassword) &&
               Objects.equals(keyStoreType, that.keyStoreType) &&
               Objects.equals(keyStoreProvider, that.keyStoreProvider) &&
               Objects.equals(trustStorePath, that.trustStorePath) &&
               Objects.equals(trustStorePassword, that.trustStorePassword) &&
               Objects.equals(trustStoreType, that.trustStoreType) &&
               Objects.equals(trustStoreProvider, that.trustStoreProvider) &&
               Objects.equals(supportedProtocols, that.supportedProtocols) &&
               Objects.equals(supportedCiphers, that.supportedCiphers) &&
               Objects.equals(certAlias, that.certAlias);
    }
This class is essentially a copy of
{@link io.dropwizard.client.ssl.TlsConfiguration}
so that we can extend {@link AbstractConfig} and have an equals method
Also {@link java.io.File} has been replaced with {@link String} for consistency
with our other config
Values are extracted from this using reflection by {@link HttpClientConfigConverter} so it is
key that the method names match.
stroom-util/src/main/java/stroom/util/http/HttpTlsConfiguration.java