Package com.couchbase.client.core.env
Class CertificateAuthenticator
- java.lang.Object
-
- com.couchbase.client.core.env.CertificateAuthenticator
-
- All Implemented Interfaces:
Authenticator
public class CertificateAuthenticator extends Object implements Authenticator
Performs authentication through a client certificate instead of supplying username and password.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapplyTlsProperties(com.couchbase.client.core.deps.io.netty.handler.ssl.SslContextBuilder context)The authenticator gets the chance to attach the client certificate to the ssl context if needed.static CertificateAuthenticatorfromKey(PrivateKey key, String keyPassword, List<X509Certificate> keyCertChain)Creates a newCertificateAuthenticatordirectly from a key and certificate chain.static CertificateAuthenticatorfromKeyManagerFactory(Supplier<KeyManagerFactory> keyManagerFactory)Creates a newCertificateAuthenticatorfrom aKeyManagerFactory.static CertificateAuthenticatorfromKeyStore(Path keyStorePath, String keyStorePassword, Optional<String> keyStoreType)Creates a newCertificateAuthenticatorfrom a key store path.static CertificateAuthenticatorfromKeyStore(KeyStore keyStore, String keyStorePassword)Creates a newCertificateAuthenticatorfrom a key store.booleansupportsNonTls()If this authenticator supports non-encrypted connections.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.couchbase.client.core.env.Authenticator
authHttpRequest, authKeyValueConnection, supportsTls
-
-
-
-
Method Detail
-
fromKeyStore
public static CertificateAuthenticator fromKeyStore(Path keyStorePath, String keyStorePassword, Optional<String> keyStoreType)
Creates a newCertificateAuthenticatorfrom a key store path.- Parameters:
keyStorePath- the file path to the keystore.keyStorePassword- the password for the keystore.keyStoreType- the type of the key store. If empty, theKeyStore.getDefaultType()will be used.- Returns:
- the created
CertificateAuthenticator.
-
fromKeyStore
public static CertificateAuthenticator fromKeyStore(KeyStore keyStore, String keyStorePassword)
Creates a newCertificateAuthenticatorfrom a key store.- Parameters:
keyStore- the key store to load the certificate from.keyStorePassword- the password for the key store.- Returns:
- the created
CertificateAuthenticator.
-
fromKeyManagerFactory
public static CertificateAuthenticator fromKeyManagerFactory(Supplier<KeyManagerFactory> keyManagerFactory)
Creates a newCertificateAuthenticatorfrom aKeyManagerFactory.- Parameters:
keyManagerFactory- the key manager factory in a supplier that should be used.- Returns:
- the created
CertificateAuthenticator.
-
fromKey
public static CertificateAuthenticator fromKey(PrivateKey key, String keyPassword, List<X509Certificate> keyCertChain)
Creates a newCertificateAuthenticatordirectly from a key and certificate chain.- Parameters:
key- the private key to authenticate.keyPassword- the password for to use.keyCertChain- the key certificate chain to use.- Returns:
- the created
CertificateAuthenticator.
-
applyTlsProperties
public void applyTlsProperties(com.couchbase.client.core.deps.io.netty.handler.ssl.SslContextBuilder context)
Description copied from interface:AuthenticatorThe authenticator gets the chance to attach the client certificate to the ssl context if needed.- Specified by:
applyTlsPropertiesin interfaceAuthenticator- Parameters:
context- the netty context builder
-
supportsNonTls
public boolean supportsNonTls()
Description copied from interface:AuthenticatorIf this authenticator supports non-encrypted connections.- Specified by:
supportsNonTlsin interfaceAuthenticator
-
-