Class TlsConfig.BuilderBase.TlsConfigImpl
java.lang.Object
io.helidon.common.tls.TlsMaterial.BuilderBase.TlsMaterialImpl
io.helidon.common.tls.TlsConfig.BuilderBase.TlsConfigImpl
- All Implemented Interfaces:
Prototype.Api, Prototype.Factory<Tls>, TlsConfig, TlsMaterial, Supplier<Tls>
- Enclosing class:
TlsConfig.BuilderBase<BUILDER extends TlsConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends TlsConfig>
protected static class TlsConfig.BuilderBase.TlsConfigImpl
extends TlsMaterial.BuilderBase.TlsMaterialImpl
implements TlsConfig, Supplier<Tls>
Generated implementation of the prototype, can be extended by descendant prototype implementations.
-
Nested Class Summary
Nested classes/interfaces inherited from interface TlsConfig
TlsConfig.Builder, TlsConfig.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forTls.static classTlsConfig.BuilderBase<BUILDER extends TlsConfig.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends TlsConfig>Fluent API builder base forTlsConfig.Nested classes/interfaces inherited from interface TlsMaterial
TlsMaterial.Builder, TlsMaterial.BuilderBase<BUILDER, PROTOTYPE>Modifier and TypeInterfaceDescriptionstatic classFluent API builder forTlsMaterial.static classTlsMaterial.BuilderBase<BUILDER extends TlsMaterial.BuilderBase<BUILDER, PROTOTYPE>, PROTOTYPE extends TlsMaterial>Fluent API builder base forTlsMaterial. -
Field Summary
Fields inherited from interface TlsConfig
DEFAULT_PROTOCOL, DEFAULT_SESSION_CACHE_SIZE, DEFAULT_SESSION_TIMEOUTModifier and TypeFieldDescriptionstatic final StringThe default protocol is set to "TLS".static final intThe default session cache size as defined for unset value inSSLSessionContext.getSessionCacheSize().static final StringThe default session timeout as defined for unset value inSSLSessionContext.getSessionTimeout(). -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTlsConfigImpl(TlsConfig.BuilderBase<?, ?> builder) Create an instance providing a builder. -
Method Summary
Modifier and TypeMethodDescriptionConfigure list of supported application protocols (such ash2) for application layer protocol negotiation (ALPN).build()Create a new runtime instance from this prototype.Configure requirement for mutual TLS.booleanenabled()Flag indicating whether Tls is enabled.Enabled cipher suites for TLS communication.Enabled protocols for TLS communication.Identification algorithm for SSL endpoints.booleanget()inthashCode()manager()The configured TLS manager.protocol()Configure the protocol used to obtain an instance ofSSLContext.provider()Use explicit provider to obtain an instance ofSSLContext.intSSL session cache size.SSL session timeout.Provide a fully configuredSSLContext.Configure SSL parameters.toString()Methods inherited from class TlsMaterial.BuilderBase.TlsMaterialImpl
internalKeystoreProvider, internalKeystoreType, keyManagerFactoryAlgorithm, keyManagerFactoryProvider, privateKey, privateKeyCertChain, revocation, secureRandom, secureRandomAlgorithm, secureRandomProvider, trust, trustAll, trustManagerFactoryAlgorithm, trustManagerFactoryProviderModifier and TypeMethodDescriptionProvider of the key stores used internally to create a key and trust manager factories.Type of the key stores used internally to create a key and trust manager factories.Algorithm of the key manager factory used when private key is defined.Key manager factory provider.Private key to use.Certificate chain of the private key.Certificate revocation check configuration.Explicit secure random to use.Algorithm to use when creating a new secure random.Provider to use when creating a new secure random.trust()List of certificates that form the trust manager.booleantrustAll()Trust any certificate provided by the other side of communication.Trust manager factory algorithm.Trust manager factory provider to use.
-
Constructor Details
-
TlsConfigImpl
Create an instance providing a builder.- Parameters:
builder- extending builder base of this prototype
-
-
Method Details
-
build
Create a new runtime instance from this prototype.- Specified by:
buildin interfacePrototype.Factory<Tls>- Returns:
- new configured runtime instance
-
get
-
sslContext
Description copied from interface:TlsConfigProvide a fully configuredSSLContext. If defined, a custom TLS manager and options for context creation, key or trust material, session cache size, and session timeout cannot be configured, and reload of Tls is not supported and will throw an exception. Engine-level options such as enabled protocols, cipher suites, client authentication, and application protocols are supported and are applied to engines created by the context.- Specified by:
sslContextin interfaceTlsConfig- Returns:
- SSL context to use
-
manager
Description copied from interface:TlsConfigThe configured TLS manager. If one is not explicitly defined in the config then a default manager will be created. Default is either a configuration based TLS manager, or an explicit manager whenTlsConfig.sslContext()is provided. ATlsinstance backed by the defaultConfiguredTlsManageruses an isolated runtime manager, so this method returns its configured prototype rather than its runtime manager. UseTls.generation()to obtain the runtime manager's material generation. -
sslParameters
Description copied from interface:TlsConfigConfigure SSL parameters. This will always have a value, as we compute ssl parameters in a builder interceptor from configured options.- Specified by:
sslParametersin interfaceTlsConfig- Returns:
- SSL parameters to use
-
applicationProtocols
Description copied from interface:TlsConfigConfigure list of supported application protocols (such ash2) for application layer protocol negotiation (ALPN).- Specified by:
applicationProtocolsin interfaceTlsConfig- Returns:
- application protocols
-
endpointIdentificationAlgorithm
Description copied from interface:TlsConfigIdentification algorithm for SSL endpoints.- Specified by:
endpointIdentificationAlgorithmin interfaceTlsConfig- Returns:
- configure endpoint identification algorithm, or set to
NONEto disable endpoint identification (equivalent to hostname verification). Defaults to "HTTPS"
-
enabled
-
clientAuth
Description copied from interface:TlsConfigConfigure requirement for mutual TLS.- Specified by:
clientAuthin interfaceTlsConfig- Returns:
- what type of mutual TLS to use, defaults to
TlsClientAuth.NONE
-
protocol
Description copied from interface:TlsConfigConfigure the protocol used to obtain an instance ofSSLContext. -
provider
Description copied from interface:TlsConfigUse explicit provider to obtain an instance ofSSLContext.- Specified by:
providerin interfaceTlsConfig- Returns:
- provider to use, defaults to none (only
TlsConfig.protocol()is used by default)
-
enabledCipherSuites
Description copied from interface:TlsConfigEnabled cipher suites for TLS communication.- Specified by:
enabledCipherSuitesin interfaceTlsConfig- Returns:
- cipher suites to enable, by default (or if list is empty), all available cipher suites are enabled
-
enabledProtocols
Description copied from interface:TlsConfigEnabled protocols for TLS communication. Example of valid values forTLSprotocol:TLSv1.3,TLSv1.2- Specified by:
enabledProtocolsin interfaceTlsConfig- Returns:
- protocols to enable, by default (or if list is empty), all available protocols are enabled
-
sessionCacheSize
public int sessionCacheSize()Description copied from interface:TlsConfigSSL session cache size.- Specified by:
sessionCacheSizein interfaceTlsConfig- Returns:
- session cache size, defaults to 20480.
-
sessionTimeout
Description copied from interface:TlsConfigSSL session timeout.- Specified by:
sessionTimeoutin interfaceTlsConfig- Returns:
- session timeout, defaults to "PT24H".
-
toString
- Overrides:
toStringin classTlsMaterial.BuilderBase.TlsMaterialImpl
-
equals
- Overrides:
equalsin classTlsMaterial.BuilderBase.TlsMaterialImpl
-
hashCode
public int hashCode()- Overrides:
hashCodein classTlsMaterial.BuilderBase.TlsMaterialImpl
-