Package com.couchbase.client.core.env
Class CertificateAuthenticator
java.lang.Object
com.couchbase.client.core.env.CertificateAuthenticator
- All Implemented Interfaces:
Authenticator
Performs authentication through a client certificate instead of supplying username and password.
-
Method Summary
Modifier and TypeMethodDescriptionvoidapplyTlsProperties(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.com.couchbase.client.core.deps.io.grpc.CallCredentialsbooleanIf this authenticator supports non-encrypted connections.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.couchbase.client.core.env.Authenticator
authHttpRequest, authKeyValueConnection, supportsTls
-
Method Details
-
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
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.
-
protostellarCallCredentials
@Nullable @Internal public com.couchbase.client.core.deps.io.grpc.CallCredentials protostellarCallCredentials()- Specified by:
protostellarCallCredentialsin interfaceAuthenticator
-
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
-
toString
-