Package io.dropwizard.jetty
Class HttpsConnectorFactory
- java.lang.Object
-
- io.dropwizard.jetty.HttpConnectorFactory
-
- io.dropwizard.jetty.HttpsConnectorFactory
-
- All Implemented Interfaces:
Discoverable
,ConnectorFactory
- Direct Known Subclasses:
Http2ConnectorFactory
public class HttpsConnectorFactory extends HttpConnectorFactory
Builds HTTPS connectors (HTTP over TLS/SSL). Configuration Parameters:Name Default Description keyStorePath
REQUIRED The path to the Java key store which contains the host certificate and private key. keyStorePassword
REQUIRED The password used to access the key store. keyStoreType
JKS
The type of key store (usually JKS
,PKCS12
,JCEKS
,Windows-MY
, orWindows-ROOT
).keyStoreProvider
(none) The JCE provider to use to access the key store. trustStorePath
(none) The path to the Java key store which contains the CA certificates used to establish trust. trustStorePassword
(none) The password used to access the trust store. trustStoreType
JKS
The type of trust store (usually JKS
,PKCS12
,JCEKS
,Windows-MY
, orWindows-ROOT
).trustStoreProvider
(none) The JCE provider to use to access the trust store. keyManagerPassword
(none) The password, if any, for the key manager. needClientAuth
(none) Whether or not client authentication is required. wantClientAuth
(none) Whether or not client authentication is requested. certAlias
(none) The alias of the certificate to use. crlPath
(none) The path to the file which contains the Certificate Revocation List. enableCRLDP
false Whether or not CRL Distribution Points (CRLDP) support is enabled. enableOCSP
false Whether or not On-Line Certificate Status Protocol (OCSP) support is enabled. maxCertPathLength
(unlimited) The maximum certification path length. ocspResponderUrl
(none) The location of the OCSP responder. jceProvider
(none) The name of the JCE provider to use for cryptographic support. validateCerts
false Whether or not to validate TLS certificates before starting. If enabled, Dropwizard will refuse to start with expired or otherwise invalid certificates. This option will cause unconditional failure in Dropwizard 1.x until a new validation mechanism can be implemented. validatePeers
false Whether or not to validate TLS peer certificates. This option will cause unconditional failure in Dropwizard 1.x until a new validation mechanism can be implemented. supportedProtocols
JVM default A list of protocols (e.g., SSLv3
,TLSv1
) which are supported. All other protocols will be refused.excludedProtocols
["SSL.*", "TLSv1", "TLSv1\.1"] A list of protocols (e.g., SSLv3
,TLSv1
) which are excluded. These protocols will be refused.supportedCipherSuites
JVM default A list of cipher suites (e.g., TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
) which are supported. All other cipher suites will be refused.excludedCipherSuites
Jetty's default A list of cipher suites (e.g., TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
) which are excluded. These cipher suites will be refused.allowRenegotiation
true Whether or not TLS renegotiation is allowed. endpointIdentificationAlgorithm
(none) Which endpoint identification algorithm, if any, to use during the TLS handshake. HttpConnectorFactory
.- See Also:
HttpConnectorFactory
-
-
Constructor Summary
Constructors Constructor Description HttpsConnectorFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.jetty.server.Connector
build(org.eclipse.jetty.server.Server server, com.codahale.metrics.MetricRegistry metrics, String name, org.eclipse.jetty.util.thread.ThreadPool threadPool)
Create a new connector.protected org.eclipse.jetty.server.HttpConfiguration
buildHttpConfiguration()
protected org.eclipse.jetty.util.ssl.SslContextFactory
configureSslContextFactory(org.eclipse.jetty.util.ssl.SslContextFactory factory)
boolean
getAllowRenegotiation()
String
getCertAlias()
File
getCrlPath()
Boolean
getEnableCRLDP()
Boolean
getEnableOCSP()
String
getEndpointIdentificationAlgorithm()
List<String>
getExcludedCipherSuites()
List<String>
getExcludedProtocols()
String
getJceProvider()
String
getKeyManagerPassword()
String
getKeyStorePassword()
String
getKeyStorePath()
String
getKeyStoreProvider()
String
getKeyStoreType()
Integer
getMaxCertPathLength()
Boolean
getNeedClientAuth()
URI
getOcspResponderUrl()
List<String>
getSupportedCipherSuites()
List<String>
getSupportedProtocols()
String
getTrustStorePassword()
String
getTrustStorePath()
String
getTrustStoreProvider()
String
getTrustStoreType()
boolean
getValidatePeers()
Boolean
getWantClientAuth()
boolean
isValidateCerts()
boolean
isValidKeyStorePassword()
boolean
isValidKeyStorePath()
protected org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
logSslInfoOnStart(org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)
Register a listener that waits until the ssl context factory has started.void
setAllowRenegotiation(boolean allowRenegotiation)
void
setCertAlias(String certAlias)
void
setCrlPath(File crlPath)
void
setEnableCRLDP(Boolean enableCRLDP)
void
setEnableOCSP(Boolean enableOCSP)
void
setEndpointIdentificationAlgorithm(String endpointIdentificationAlgorithm)
void
setExcludedCipherSuites(List<String> excludedCipherSuites)
void
setExcludedProtocols(List<String> excludedProtocols)
void
setJceProvider(String jceProvider)
void
setKeyManagerPassword(String keyManagerPassword)
void
setKeyStorePassword(String keyStorePassword)
void
setKeyStorePath(String keyStorePath)
void
setKeyStoreProvider(String keyStoreProvider)
void
setKeyStoreType(String keyStoreType)
void
setMaxCertPathLength(Integer maxCertPathLength)
void
setNeedClientAuth(Boolean needClientAuth)
void
setOcspResponderUrl(URI ocspResponderUrl)
void
setSupportedCipherSuites(List<String> supportedCipherSuites)
void
setSupportedProtocols(List<String> supportedProtocols)
void
setTrustStorePassword(String trustStorePassword)
void
setTrustStorePath(String trustStorePath)
void
setTrustStoreProvider(String trustStoreProvider)
void
setTrustStoreType(String trustStoreType)
void
setValidateCerts(boolean validateCerts)
void
setValidatePeers(boolean validatePeers)
void
setWantClientAuth(Boolean wantClientAuth)
-
Methods inherited from class io.dropwizard.jetty.HttpConnectorFactory
admin, application, buildBufferPool, buildConnector, buildHttpConnectionFactory, getAcceptorThreads, getAcceptQueueSize, getBindHost, getBufferPoolIncrement, getHeaderCacheSize, getHttpCompliance, getIdleTimeout, getInputBufferSize, getMaxBufferPoolSize, getMaxRequestHeaderSize, getMaxResponseHeaderSize, getMinBufferPoolSize, getMinRequestDataPerSecond, getMinResponseDataPerSecond, getOutputBufferSize, getPort, getRequestCookieCompliance, getResponseCookieCompliance, getSelectorThreads, httpConnections, isInheritChannel, isReuseAddress, isUseDateHeader, isUseForwardedHeaders, isUseProxyProtocol, isUseServerHeader, setAcceptorThreads, setAcceptQueueSize, setBindHost, setBufferPoolIncrement, setHeaderCacheSize, setHttpCompliance, setIdleTimeout, setInheritChannel, setInputBufferSize, setMaxBufferPoolSize, setMaxRequestHeaderSize, setMaxResponseHeaderSize, setMinBufferPoolSize, setMinRequestDataPerSecond, setMinResponseDataPerSecond, setOutputBufferSize, setPort, setRequestCookieCompliance, setResponseCookieCompliance, setReuseAddress, setSelectorThreads, setUseDateHeader, setUseForwardedHeaders, setUseProxyProtocol, setUseServerHeader
-
-
-
-
Method Detail
-
getAllowRenegotiation
public boolean getAllowRenegotiation()
-
setAllowRenegotiation
public void setAllowRenegotiation(boolean allowRenegotiation)
-
getEndpointIdentificationAlgorithm
@Nullable public String getEndpointIdentificationAlgorithm()
-
setEndpointIdentificationAlgorithm
public void setEndpointIdentificationAlgorithm(@Nullable String endpointIdentificationAlgorithm)
-
getKeyStorePath
@Nullable public String getKeyStorePath()
-
setKeyStorePath
public void setKeyStorePath(@Nullable String keyStorePath)
-
getKeyStorePassword
@Nullable public String getKeyStorePassword()
-
setKeyStorePassword
public void setKeyStorePassword(@Nullable String keyStorePassword)
-
getKeyStoreType
public String getKeyStoreType()
-
setKeyStoreType
public void setKeyStoreType(String keyStoreType)
-
getKeyStoreProvider
@Nullable public String getKeyStoreProvider()
-
setKeyStoreProvider
public void setKeyStoreProvider(@Nullable String keyStoreProvider)
-
getTrustStoreType
public String getTrustStoreType()
-
setTrustStoreType
public void setTrustStoreType(String trustStoreType)
-
getTrustStoreProvider
@Nullable public String getTrustStoreProvider()
-
setTrustStoreProvider
public void setTrustStoreProvider(@Nullable String trustStoreProvider)
-
getKeyManagerPassword
@Nullable public String getKeyManagerPassword()
-
setKeyManagerPassword
public void setKeyManagerPassword(@Nullable String keyManagerPassword)
-
getTrustStorePath
@Nullable public String getTrustStorePath()
-
setTrustStorePath
public void setTrustStorePath(@Nullable String trustStorePath)
-
getTrustStorePassword
@Nullable public String getTrustStorePassword()
-
setTrustStorePassword
public void setTrustStorePassword(@Nullable String trustStorePassword)
-
getNeedClientAuth
@Nullable public Boolean getNeedClientAuth()
-
setNeedClientAuth
public void setNeedClientAuth(@Nullable Boolean needClientAuth)
-
getWantClientAuth
@Nullable public Boolean getWantClientAuth()
-
setWantClientAuth
public void setWantClientAuth(@Nullable Boolean wantClientAuth)
-
getCertAlias
@Nullable public String getCertAlias()
-
setCertAlias
public void setCertAlias(@Nullable String certAlias)
-
getCrlPath
@Nullable public File getCrlPath()
-
setCrlPath
public void setCrlPath(@Nullable File crlPath)
-
getEnableCRLDP
@Nullable public Boolean getEnableCRLDP()
-
setEnableCRLDP
public void setEnableCRLDP(@Nullable Boolean enableCRLDP)
-
getEnableOCSP
@Nullable public Boolean getEnableOCSP()
-
setEnableOCSP
public void setEnableOCSP(@Nullable Boolean enableOCSP)
-
getMaxCertPathLength
@Nullable public Integer getMaxCertPathLength()
-
setMaxCertPathLength
public void setMaxCertPathLength(@Nullable Integer maxCertPathLength)
-
getOcspResponderUrl
@Nullable public URI getOcspResponderUrl()
-
setOcspResponderUrl
public void setOcspResponderUrl(@Nullable URI ocspResponderUrl)
-
getJceProvider
@Nullable public String getJceProvider()
-
setJceProvider
public void setJceProvider(@Nullable String jceProvider)
-
getValidatePeers
public boolean getValidatePeers()
-
setValidatePeers
public void setValidatePeers(boolean validatePeers)
-
setExcludedCipherSuites
public void setExcludedCipherSuites(@Nullable List<String> excludedCipherSuites)
-
setSupportedCipherSuites
public void setSupportedCipherSuites(@Nullable List<String> supportedCipherSuites)
-
isValidateCerts
public boolean isValidateCerts()
-
setValidateCerts
public void setValidateCerts(boolean validateCerts)
-
isValidKeyStorePath
@ValidationMethod(message="keyStorePath should not be null") public boolean isValidKeyStorePath()
-
isValidKeyStorePassword
@ValidationMethod(message="keyStorePassword should not be null or empty") public boolean isValidKeyStorePassword()
-
build
public org.eclipse.jetty.server.Connector build(org.eclipse.jetty.server.Server server, com.codahale.metrics.MetricRegistry metrics, String name, @Nullable org.eclipse.jetty.util.thread.ThreadPool threadPool)
Description copied from interface:ConnectorFactory
Create a new connector.- Specified by:
build
in interfaceConnectorFactory
- Overrides:
build
in classHttpConnectorFactory
- Parameters:
server
- the application'sServer
instancemetrics
- the application's metricsname
- the application's namethreadPool
- the application's thread pool- Returns:
- a
Connector
-
buildHttpConfiguration
protected org.eclipse.jetty.server.HttpConfiguration buildHttpConfiguration()
- Overrides:
buildHttpConfiguration
in classHttpConnectorFactory
-
logSslInfoOnStart
protected org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener logSslInfoOnStart(org.eclipse.jetty.util.ssl.SslContextFactory sslContextFactory)
Register a listener that waits until the ssl context factory has started. Once it has started we can grab the fully initialized context so we can log the parameters.
-
configureSslContextFactory
protected org.eclipse.jetty.util.ssl.SslContextFactory configureSslContextFactory(org.eclipse.jetty.util.ssl.SslContextFactory factory)
-
-