- java.lang.Object
-
- io.helidon.webserver.WebServerTls.Builder
-
- All Implemented Interfaces:
Builder<WebServerTls>
,Supplier<WebServerTls>
- Enclosing class:
- WebServerTls
public static class WebServerTls.Builder extends Object implements Builder<WebServerTls>
Fluent API builder forWebServerTls
.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WebServerTls.Builder
allowedCipherSuite(List<String> cipherSuite)
Set allowed cipher suite.WebServerTls
build()
Build the instance from this builder.WebServerTls.Builder
clientAuth(ClientAuthentication clientAuth)
Configures whether client authentication will be required or not.WebServerTls.Builder
config(Config config)
Update this builder from configuration.WebServerTls.Builder
enabled(boolean enabled)
Whether the TLS config should be enabled or not.WebServerTls.Builder
enabledProtocols(String... protocols)
Configures the TLS protocols to enable with the server socket.WebServerTls.Builder
enabledProtocols(Collection<String> protocols)
Configures the TLS protocols to enable with the server socket.WebServerTls.Builder
privateKey(KeyConfig privateKeyConfig)
Configure private key to use for SSL context.WebServerTls.Builder
privateKey(Supplier<KeyConfig> privateKeyConfigBuilder)
Configure private key to use for SSL context.WebServerTls.Builder
sessionCacheSize(long sessionCacheSize)
Set the size of the cache used for storing SSL session objects.WebServerTls.Builder
sessionTimeout(long timeout, TimeUnit unit)
Set the timeout for the cached SSL session objects.WebServerTls.Builder
sessionTimeoutSeconds(long sessionTimeout)
Set the timeout for the cached SSL session objects, in seconds.WebServerTls.Builder
sslContext(SSLContext context)
Configures aSSLContext
to use with the server socket.WebServerTls.Builder
trust(KeyConfig trustConfig)
Set the trust key configuration to be used to validate certificates.WebServerTls.Builder
trust(Supplier<KeyConfig> trustConfigBuilder)
Set the trust key configuration to be used to validate certificates.
-
-
-
Method Detail
-
build
public WebServerTls build()
Description copied from interface:Builder
Build the instance from this builder.- Specified by:
build
in interfaceBuilder<WebServerTls>
- Returns:
- instance of the built type
-
config
public WebServerTls.Builder config(Config config)
Update this builder from configuration.- Parameters:
config
- config on the node of SSL configuration- Returns:
- this builder
-
clientAuth
public WebServerTls.Builder clientAuth(ClientAuthentication clientAuth)
Configures whether client authentication will be required or not.- Parameters:
clientAuth
- client authentication- Returns:
- this builder
-
sslContext
public WebServerTls.Builder sslContext(SSLContext context)
Configures aSSLContext
to use with the server socket. If notnull
then the server enforces an SSL communication.- Parameters:
context
- a SSL context to use- Returns:
- this builder
-
enabledProtocols
public WebServerTls.Builder enabledProtocols(String... protocols)
Configures the TLS protocols to enable with the server socket.- Parameters:
protocols
- protocols to enable, if empty, enables defaults- Returns:
- this builder
- Throws:
NullPointerException
- in case the protocols is null
-
enabledProtocols
public WebServerTls.Builder enabledProtocols(Collection<String> protocols)
Configures the TLS protocols to enable with the server socket.- Parameters:
protocols
- protocols to enable, if empty enables the default protocols- Returns:
- this builder
- Throws:
NullPointerException
- in case the protocols is null
-
privateKey
public WebServerTls.Builder privateKey(KeyConfig privateKeyConfig)
Configure private key to use for SSL context.- Parameters:
privateKeyConfig
- the required private key configuration parameter- Returns:
- this builder
-
privateKey
public WebServerTls.Builder privateKey(Supplier<KeyConfig> privateKeyConfigBuilder)
Configure private key to use for SSL context.- Parameters:
privateKeyConfigBuilder
- the required private key configuration parameter- Returns:
- this builder
-
trust
public WebServerTls.Builder trust(KeyConfig trustConfig)
Set the trust key configuration to be used to validate certificates.- Parameters:
trustConfig
- the trust configuration- Returns:
- this builder
-
trust
public WebServerTls.Builder trust(Supplier<KeyConfig> trustConfigBuilder)
Set the trust key configuration to be used to validate certificates.- Parameters:
trustConfigBuilder
- the trust configuration builder- Returns:
- this builder
-
sessionCacheSize
public WebServerTls.Builder sessionCacheSize(long sessionCacheSize)
Set the size of the cache used for storing SSL session objects.0
to use the default value.- Parameters:
sessionCacheSize
- the session cache size- Returns:
- this builder
-
sessionTimeoutSeconds
public WebServerTls.Builder sessionTimeoutSeconds(long sessionTimeout)
Set the timeout for the cached SSL session objects, in seconds.0
to use the default value.- Parameters:
sessionTimeout
- the session timeout- Returns:
- this builder
-
sessionTimeout
public WebServerTls.Builder sessionTimeout(long timeout, TimeUnit unit)
Set the timeout for the cached SSL session objects.0
to use the default value.- Parameters:
timeout
- the session timeout amountunit
- the session timeout time unit- Returns:
- this builder
-
allowedCipherSuite
public WebServerTls.Builder allowedCipherSuite(List<String> cipherSuite)
Set allowed cipher suite. If an empty collection is set, an exception is thrown since it is required to support at least some ciphers.- Parameters:
cipherSuite
- allowed cipher suite- Returns:
- an updated builder
-
enabled
public WebServerTls.Builder enabled(boolean enabled)
Whether the TLS config should be enabled or not.- Parameters:
enabled
- configure tofalse
to disable SSL context (and SSL support on the server)- Returns:
- this builder
-
-