Class SSLSocketProviderDependenciesBuilder
java.lang.Object
com.tangosol.coherence.config.builder.SSLSocketProviderDependenciesBuilder
- All Implemented Interfaces:
ParameterizedBuilder<com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies>
public class SSLSocketProviderDependenciesBuilder
extends Object
implements ParameterizedBuilder<com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies>
SSLSocketProviderDependenciesBuilder
enables lazy instantiation of SSL SocketProvider.
This builder includes methods that allows one to specify whether to get a datagram or demultiplexed
SocketProvider
and what subport to use for the socketprovider.
- Since:
- Coherence 12.2.1.1
- Author:
- jf 2015.11.11, Jonathan Knight 2022.01.25
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Implemented byProvider
classes that need to be aware of the SSL dependencies.static class
HostnameVerifier dependenciesstatic class
SSL encipher-suites and protocol-versions are both a list of names with a usage attribute of the value "white-list" or "black-list"static class
Provider dependenciesNested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The value of the hostname-verifier action to allow all connections.static final String
The name of the Coherence provider.static final Seconds
The default auto-refresh period - no refresh.static final String
The type of the SSLContext service. -
Constructor Summary
ConstructorDescriptionSSLSocketProviderDependenciesBuilder
(com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies deps) ConstructsSSLSocketProviderDependenciesBuilder
-
Method Summary
Modifier and TypeMethodDescriptionGet customized HostnameVerifierBuildercom.tangosol.internal.net.ssl.ManagerDependencies
Get the SSL identity manager dependenciesGet the SSL protocol nameGet the SSL provider builder.protected String
Returns the SSL provider name.Return the period to use to auto-refresh keys and certs.Returns theRefreshPolicy
to use to determine whether keys and certs should be refreshed.Get delegate socket provider buildercom.tangosol.internal.net.ssl.ManagerDependencies
Get the SSL trust managercom.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies
realize()
Realize a SSLSocketProviderDefaultDependencies based on configured/defaulted values for config element ssl.com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies
realize
(ParameterResolver resolver, ClassLoader loader, ParameterList listParameters) RealizeSSLSocketProviderDefaultDependencies
from this builderprotected Provider
Realize the SSL provider.void
Set cipher-suites dependenciesvoid
setClientAuth
(String sAuthMode) Set the client auth mode to use.void
Set delegate SocketProviderBuildervoid
Set SSL executors builder.void
Set the customized HostnameVerifierBuildervoid
setIdentityManager
(com.tangosol.internal.net.ssl.DefaultManagerDependencies deps) Set the SSL identity manager dependencies.void
setProtocol
(String sName) Set the SSL protocol namevoid
Set protocol-versions dependenciesvoid
Set the SSL provider builder.void
setRefreshPeriod
(Seconds refreshPeriod) Set the auto-refresh period.void
setRefreshPolicy
(RefreshPolicy policy) Set theRefreshPolicy
to use to determine whether keys and certs should be refreshed.void
setTrustManager
(com.tangosol.internal.net.ssl.ManagerDependencies deps) Set the SSL trust manager
-
Field Details
-
NAME
The name of the Coherence provider.- See Also:
-
SERVICE_TYPE
The type of the SSLContext service.- See Also:
-
ACTION_ALLOW
The value of the hostname-verifier action to allow all connections.- See Also:
-
NO_REFRESH
The default auto-refresh period - no refresh.
-
-
Constructor Details
-
SSLSocketProviderDependenciesBuilder
public SSLSocketProviderDependenciesBuilder(com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies deps) ConstructsSSLSocketProviderDependenciesBuilder
- Parameters:
deps
-SSLSocketProviderDefaultDependencies
defaults for cluster
-
-
Method Details
-
setProtocol
Set the SSL protocol name- Parameters:
sName
- the protocol name
-
getProtocol
Get the SSL protocol name- Returns:
- protocol name
-
setProviderBuilder
@Injectable("provider") public void setProviderBuilder(SSLSocketProviderDependenciesBuilder.ProviderBuilder builder) Set the SSL provider builder.- Parameters:
builder
- SSL provider builder
-
getProviderBuilder
Get the SSL provider builder.- Returns:
- the provider builder
-
realizeProvider
Realize the SSL provider.- Returns:
- the SSL provider
-
getProviderName
Returns the SSL provider name.- Returns:
- the SSL provider name
-
setExecutor
Set SSL executors builder.- Parameters:
bldr
- builder for SSL executors.
-
setIdentityManager
@Injectable("identity-manager") public void setIdentityManager(com.tangosol.internal.net.ssl.DefaultManagerDependencies deps) Set the SSL identity manager dependencies.- Parameters:
deps
- configured or defaulted values for identity manager dependencies
-
getIdentityManager
public com.tangosol.internal.net.ssl.ManagerDependencies getIdentityManager()Get the SSL identity manager dependencies- Returns:
- identity manager configured/defaulted values
-
getTrustManager
public com.tangosol.internal.net.ssl.ManagerDependencies getTrustManager()Get the SSL trust manager- Returns:
- the trust manager
-
setTrustManager
@Injectable("trust-manager") public void setTrustManager(com.tangosol.internal.net.ssl.ManagerDependencies deps) Set the SSL trust manager- Parameters:
deps
- trust manager configured/defaulted values
-
setHostnameVerifierBuilder
@Injectable("hostname-verifier") public void setHostnameVerifierBuilder(ParameterizedBuilder<HostnameVerifier> bldr) Set the customized HostnameVerifierBuilder- Parameters:
bldr
- HostnameVerifierBuilder
-
getHostnameVerifierBuilder
Get customized HostnameVerifierBuilder- Returns:
HostnameVerifier
or null
-
setCipherSuitesNameList
@Injectable("cipher-suites") public void setCipherSuitesNameList(SSLSocketProviderDependenciesBuilder.NameListDependencies deps) Set cipher-suites dependencies- Parameters:
deps
- cipher-suites config info
-
setProtocolVersionsNameList
@Injectable("protocol-versions") public void setProtocolVersionsNameList(SSLSocketProviderDependenciesBuilder.NameListDependencies deps) Set protocol-versions dependencies- Parameters:
deps
- protocol-versions config info
-
setDelegate
Set delegate SocketProviderBuilder- Parameters:
bldr
- delegate socket provider builder
-
setClientAuth
Set the client auth mode to use.- Parameters:
sAuthMode
- the client auth mode to use
-
setRefreshPeriod
Set the auto-refresh period.- Parameters:
refreshPeriod
- the period to use to auto-refresh keys and certs
-
getRefreshPeriod
Return the period to use to auto-refresh keys and certs.- Returns:
- the period to use to auto-refresh keys and certs
-
setRefreshPolicy
Set theRefreshPolicy
to use to determine whether keys and certs should be refreshed.- Parameters:
policy
- theRefreshPolicy
to use
-
getRefreshPolicy
Returns theRefreshPolicy
to use to determine whether keys and certs should be refreshed.- Returns:
- the
RefreshPolicy
to use
-
getSocketProviderBuilder
Get delegate socket provider builder- Returns:
- socket provider builder
-
realize
public com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies realize()Realize a SSLSocketProviderDefaultDependencies based on configured/defaulted values for config element ssl.Note: unlike typical builders, this is realized once, since sensitive password data is nullified after realizing.
- Returns:
SSLSocketProviderDefaultDependencies
-
realize
public com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies realize(ParameterResolver resolver, ClassLoader loader, ParameterList listParameters) RealizeSSLSocketProviderDefaultDependencies
from this builder- Specified by:
realize
in interfaceParameterizedBuilder<com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies>
- Parameters:
resolver
- a resolverloader
- class loaderlistParameters
- parameter list- Returns:
- SSLSocketProviderDefaultDependencies
-