package org.infinispan.server.core.configuration; import java.util.Map; import javax.net.ssl.SSLContext; /** * SslConfiguration. * * @author Tristan Tarrant * @since 5.3 */ public class SslConfiguration { public static final String DEFAULT_SNI_DOMAIN = "*"; private final boolean enabled; private final boolean requireClientAuth; private final Map<String, SslEngineConfiguration> sniDomainsConfiguration; SslConfiguration(boolean enabled, boolean requireClientAuth, Map<String, SslEngineConfiguration> sniDomainsConfiguration) { this.enabled = enabled; this.requireClientAuth = requireClientAuth; this.sniDomainsConfiguration = sniDomainsConfiguration; } public boolean enabled() { return enabled; } public boolean requireClientAuth() { return requireClientAuth; } public String keyStoreFileName() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).keyStoreFileName(); } public char[] keyStorePassword() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).keyStorePassword(); } public char[] keyStoreCertificatePassword() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).keyStoreCertificatePassword(); } public SSLContext sslContext() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).sslContext(); } public String trustStoreFileName() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).trustStoreFileName(); } public char[] trustStorePassword() { return sniDomainsConfiguration.get(DEFAULT_SNI_DOMAIN).trustStorePassword(); } public Map<String, SslEngineConfiguration> sniDomainsConfiguration() { return sniDomainsConfiguration; } @Override public String toString() { return "SslConfiguration [" + "enabled=" + enabled + ", requireClientAuth=" + requireClientAuth + ", sniDomainsConfiguration=" + sniDomainsConfiguration + ']'; } }