Class SslContextClientBuilder
- All Implemented Interfaces:
Supplier<SSLContext>
The class that builds SSLContext
for the client from keystore, truststore. Provides a cached
Supplier
from the built or user provided SSLContext
.
The class is used internally by JerseyClientBuilder
, or it can be used by connectors supporting setting
the SSLContext
per request.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Build SSLContext from the Builder.protected SslContextClientBuilder
defaultSslContextProvider
(DefaultSslContextProvider defaultSslContextProvider) Set the default SSL context provider.get()
Supply SSLContext from this builder.boolean
Get information about usedSSLContext
.Set the client-side key store.Set the client-side key store.sslContext
(SSLContext sslContext) Set the SSL context that will be used when creating secured transport connections to server endpoints fromweb targets
created by the client instance that is using this SSL context.trustStore
(KeyStore trustStore) Set the client-side trust store.
-
Constructor Details
-
SslContextClientBuilder
public SslContextClientBuilder()
-
-
Method Details
-
sslContext
Set the SSL context that will be used when creating secured transport connections to server endpoints fromweb targets
created by the client instance that is using this SSL context. The SSL context is expected to have all the security infrastructure initialized, including the key and trust managers.Setting a SSL context instance resets any
key store
ortrust store
values previously specified.- Parameters:
sslContext
- secure socket protocol implementation which acts as a factory for secure socket factories orSSL engines
. Must not benull
.- Returns:
- an updated ssl client context builder instance.
- Throws:
NullPointerException
- in case thesslContext
parameter isnull
.- See Also:
-
keyStore
Set the client-side key store. Key store contains client's private keys, and the certificates with their corresponding public keys.Setting a key store instance resets any
SSL context instance
value previously specified.Note that for improved security of working with password data and avoid storing passwords in Java string objects, the
keyStore(java.security.KeyStore, char[])
version of the method can be utilized. Also note that a custom key store is only required if you want to enable a custom setup of a 2-way SSL connections (client certificate authentication).- Parameters:
keyStore
- client-side key store. Must not benull
.password
- client key password. Must not benull
.- Returns:
- an updated ssl client context builder instance.
- Throws:
NullPointerException
- in case any of the supplied parameters isnull
.- See Also:
-
trustStore
Set the client-side trust store. Trust store is expected to contain certificates from other parties the client is you expect to communicate with, or from Certificate Authorities that are trusted to identify other parties.Setting a trust store instance resets any
SSL context instance
value previously specified.In case a custom trust store or custom SSL context is not specified, the trust management will be configured to use the default Java runtime settings.
- Parameters:
trustStore
- client-side trust store. Must not benull
.- Returns:
- an updated ssl client context builder instance.
- Throws:
NullPointerException
- in case the supplied trust store parameter isnull
.- See Also:
-
keyStore
Set the client-side key store. Key store contains client's private keys, and the certificates with their corresponding public keys.Setting a key store instance resets any
SSL context instance
value previously specified.Note that for improved security of working with password data and avoid storing passwords in Java string objects, the
keyStore(java.security.KeyStore, char[])
version of the method can be utilized. Also note that a custom key store is only required if you want to enable a custom setup of a 2-way SSL connections (client certificate authentication).- Parameters:
keyStore
- client-side key store. Must not benull
.password
- client key password. Must not benull
.- Returns:
- an updated ssl client context builder instance.
- Throws:
NullPointerException
- in case any of the supplied parameters isnull
.- See Also:
-
isDefaultSslContext
public boolean isDefaultSslContext()Get information about usedSSLContext
.- Returns:
true
when usedSSLContext
is acquired fromSslConfigurator.getDefaultContext()
,false
otherwise.
-
get
Supply SSLContext from this builder.- Specified by:
get
in interfaceSupplier<SSLContext>
- Returns:
SSLContext
-
build
Build SSLContext from the Builder.- Returns:
SSLContext
-
defaultSslContextProvider
protected SslContextClientBuilder defaultSslContextProvider(DefaultSslContextProvider defaultSslContextProvider) Set the default SSL context provider.- Parameters:
defaultSslContextProvider
- the default SSL context provider.- Returns:
- an updated ssl client context builder instance.
-