public static class SecurityConfig.Builder extends Object
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
SecurityConfig |
build()
Builds the
SecurityConfig out of this builder. |
SecurityConfig.Builder |
enableHostnameVerification(boolean hostnameVerificationEnabled)
Allows to enable or disable hostname verification (enabled by default).
|
SecurityConfig.Builder |
enableNativeTls(boolean nativeTlsEnabled)
Enables/disables native TLS (enabled by default).
|
SecurityConfig.Builder |
enableTls(boolean tlsEnabled)
Enables TLS for all client/server communication (disabled by default).
|
SecurityConfig.Builder |
trustCertificate(Path certificatePath)
Loads a X.509 trust certificate from the given path and uses it.
|
SecurityConfig.Builder |
trustCertificates(List<X509Certificate> certificates)
Loads the given list of X.509 certificates into the trust store.
|
SecurityConfig.Builder |
trustManagerFactory(TrustManagerFactory trustManagerFactory)
Allows to provide a trust manager factory directly for maximum flexibility.
|
SecurityConfig.Builder |
trustStore(KeyStore trustStore)
Initializes the
TrustManagerFactory with the given trust store. |
SecurityConfig.Builder |
trustStore(Path trustStorePath,
String trustStorePassword,
Optional<String> trustStoreType)
Loads a trust store from a file path and password and initializes the
TrustManagerFactory. |
public SecurityConfig build()
SecurityConfig out of this builder.public SecurityConfig.Builder enableTls(boolean tlsEnabled)
tlsEnabled - true if enabled, false otherwise.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder enableHostnameVerification(boolean hostnameVerificationEnabled)
Note that disabling hostname verification will cause the TLS connection to not verify that the hostname/ip is actually part of the certificate and as a result not detect certain kinds of attacks. Only disable if you understand the impact and risks!
hostnameVerificationEnabled - set to true if it should be enabled, false for disabled.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder enableNativeTls(boolean nativeTlsEnabled)
nativeTlsEnabled - true if it should be enabled, false otherwise.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder trustCertificates(List<X509Certificate> certificates)
certificates - the list of certificates to load.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder trustCertificate(Path certificatePath)
certificatePath - the path to load the certificate from.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder trustManagerFactory(TrustManagerFactory trustManagerFactory)
While providing the most flexibility, most users will find the other overloads more convenient, like passing
in a trustStore(KeyStore) directly or via filepath trustStore(Path, String, Optional).
trustManagerFactory - the trust manager factory to use.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder trustStore(KeyStore trustStore)
TrustManagerFactory with the given trust store.trustStore - the loaded trust store to use.SecurityConfig.Builder for chaining purposes.public SecurityConfig.Builder trustStore(Path trustStorePath, String trustStorePassword, Optional<String> trustStoreType)
TrustManagerFactory.trustStorePath - the path to the truststore.trustStorePassword - the password (can be null if not password protected).trustStoreType - the type of the trust store. If empty, the KeyStore.getDefaultType() will be used.SecurityConfig.Builder for chaining purposes.Copyright © 2021 Couchbase, Inc.. All rights reserved.