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
Nested ClassesModifier and TypeClassDescriptionstatic interfaceImplemented byProviderclasses that need to be aware of the SSL dependencies.static classHostnameVerifier dependenciesstatic classSSL encipher-suites and protocol-versions are both a list of names with a usage attribute of the value "white-list" or "black-list"static classProvider dependenciesNested classes/interfaces inherited from interface com.tangosol.coherence.config.builder.ParameterizedBuilder
ParameterizedBuilder.ReflectionSupport -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe value of the hostname-verifier action to allow all connections.static final StringThe name of the Coherence provider.static final SecondsThe default auto-refresh period - no refresh.static final StringThe type of the SSLContext service. -
Constructor Summary
ConstructorsConstructorDescriptionSSLSocketProviderDependenciesBuilder(com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies deps) ConstructsSSLSocketProviderDependenciesBuilder -
Method Summary
Modifier and TypeMethodDescriptionGet customized HostnameVerifierBuildercom.tangosol.internal.net.ssl.ManagerDependenciesGet the SSL identity manager dependenciesGet the SSL protocol nameGet the SSL provider builder.protected StringReturns the SSL provider name.Return the period to use to auto-refresh keys and certs.Returns theRefreshPolicyto use to determine whether keys and certs should be refreshed.Get delegate socket provider buildercom.tangosol.internal.net.ssl.ManagerDependenciesGet the SSL trust managercom.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependenciesrealize()Realize a SSLSocketProviderDefaultDependencies based on configured/defaulted values for config element ssl.com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependenciesrealize(ParameterResolver resolver, ClassLoader loader, ParameterList listParameters) RealizeSSLSocketProviderDefaultDependenciesfrom this builderprotected ProviderRealize the SSL provider.voidSet cipher-suites dependenciesvoidSet delegate SocketProviderBuildervoidSet SSL executors builder.voidSet the customized HostnameVerifierBuildervoidsetIdentityManager(com.tangosol.internal.net.ssl.DefaultManagerDependencies deps) Set the SSL identity manager dependencies.voidsetProtocol(String sName) Set the SSL protocol namevoidSet protocol-versions dependenciesvoidSet the SSL provider builder.voidsetRefreshPeriod(Seconds refreshPeriod) Set the auto-refresh period.voidsetRefreshPolicy(RefreshPolicy policy) Set theRefreshPolicyto use to determine whether keys and certs should be refreshed.voidsetTrustManager(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-SSLSocketProviderDefaultDependenciesdefaults 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:
HostnameVerifieror 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
-
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 theRefreshPolicyto use to determine whether keys and certs should be refreshed.- Parameters:
policy- theRefreshPolicyto use
-
getRefreshPolicy
Returns theRefreshPolicyto use to determine whether keys and certs should be refreshed.- Returns:
- the
RefreshPolicyto 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) RealizeSSLSocketProviderDefaultDependenciesfrom this builder- Specified by:
realizein interfaceParameterizedBuilder<com.tangosol.internal.net.ssl.SSLSocketProviderDefaultDependencies>- Parameters:
resolver- a resolverloader- class loaderlistParameters- parameter list- Returns:
- SSLSocketProviderDefaultDependencies
-