Class TLSIdentity

java.lang.Object
com.couchbase.lite.internal.BaseTLSIdentity
com.couchbase.lite.TLSIdentity
All Implemented Interfaces:
AutoCloseable

public final class TLSIdentity extends com.couchbase.lite.internal.BaseTLSIdentity
ENTERPRISE EDITION API

TLSIdentity provides the identity information obtained from the given KeyStore, including a private key and X.509 certificate chain. TLSIdentities are backed by the KeyStore and do not extract private key materials. The TLSIdentity is used by URLEndpointListener to setup the TLS communication or by the Replicator to setup the client certificate authentication.

  • Field Summary

    Fields inherited from class com.couchbase.lite.internal.BaseTLSIdentity

    CERT_ATTRIBUTE_COMMON_NAME, CERT_ATTRIBUTE_COUNTRY, CERT_ATTRIBUTE_EMAIL_ADDRESS, CERT_ATTRIBUTE_GIVEN_NAME, CERT_ATTRIBUTE_HOSTNAME, CERT_ATTRIBUTE_IP_ADDRESS, CERT_ATTRIBUTE_LOCALITY, CERT_ATTRIBUTE_ORGANIZATION, CERT_ATTRIBUTE_ORGANIZATION_UNIT, CERT_ATTRIBUTE_POSTAL_ADDRESS, CERT_ATTRIBUTE_POSTAL_CODE, CERT_ATTRIBUTE_PSEUDONYM, CERT_ATTRIBUTE_REGISTERED_ID, CERT_ATTRIBUTE_STATE_OR_PROVINCE, CERT_ATTRIBUTE_SURNAME, CERT_ATTRIBUTE_URL
  • Method Summary

    Modifier and Type
    Method
    Description
    createIdentity(boolean isServer, Map<String,String> attributes, Date expiration, KeyStore keyStore, String alias, char[] keyPassword)
    Create a self-signed certificate TLSIdentity.
    getIdentity(KeyStore keyStore, String alias, char[] keyPassword)
    Get a TLSIdentity using a KeyStore, and a key alias, and key password for a key it contains.

    Methods inherited from class com.couchbase.lite.internal.BaseTLSIdentity

    close, getAlias, getCert, getCerts, getExpiration, getKeyPair

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getIdentity

      @Nullable public static TLSIdentity getIdentity(@NonNull KeyStore keyStore, @NonNull String alias, @Nullable char[] keyPassword) throws CouchbaseLiteException
      Get a TLSIdentity using a KeyStore, and a key alias, and key password for a key it contains. The KeyStore must contain the both the private key and the certificate chain at the given key alias and password, otherwise null will be returned.
      Parameters:
      keyStore - KeyStore
      alias - key alias
      keyPassword - key password if available
      Returns:
      A TLSIdentity object.
      Throws:
      CouchbaseLiteException - on error
    • createIdentity

      @NonNull public static TLSIdentity createIdentity(boolean isServer, @NonNull Map<String,String> attributes, @Nullable Date expiration, @NonNull KeyStore keyStore, @NonNull String alias, @Nullable char[] keyPassword) throws CouchbaseLiteException
      Create a self-signed certificate TLSIdentity. The generated private key will be stored in the KeyStore along with its self-signed certificate.
      Parameters:
      isServer - The flag indicating that the certificate is for server or client.
      attributes - The certificate attributes.
      expiration - The certificate expiration date.
      keyStore - The KeyStore object for storing the generated private key and certificate.
      alias - The key alias for storing the generated private key and certificate.
      keyPassword - The password to protect the private key entry in the KeyStore.
      Returns:
      A TLSIdentity object.
      Throws:
      CouchbaseLiteException - on failure