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 canonical AndroidKeyStore and do not extract private key materials. The TLSIdentity is used by URLEndpointListeners and by Replicator, to set up certificate authenticated TLS communication.

  • 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, String alias)
    Create self-signed certificate and private key, store them in the canonical keystore, and return a identity backed by the new entry.
    Get a TLSIdentity backed by the information for the passed alias.

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

    close, getAlias, getCert, getCerts, getExpiration, getKeyPair, getManager

    Methods inherited from class java.lang.Object

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

    • getIdentity

      @Nullable public static TLSIdentity getIdentity(@NonNull String alias) throws CouchbaseLiteException
      Get a TLSIdentity backed by the information for the passed alias.
      Parameters:
      alias - the keystore alias for the identities entry.
      Returns:
      the identity
      Throws:
      CouchbaseLiteException - on failure to get identity
    • createIdentity

      @NonNull public static TLSIdentity createIdentity(boolean isServer, @NonNull Map<String,String> attributes, @Nullable Date expiration, @NonNull String alias) throws CouchbaseLiteException
      Create self-signed certificate and private key, store them in the canonical keystore, and return a identity backed by the new entry. The identity will be stored in the secure storage using the specified alias and can be recovered using that alias, after this method returns.
      Parameters:
      isServer - true if this is a server certificate
      attributes - certificate attributes
      expiration - expiration date
      alias - alias used to identify the key/certificate entry, in the keystore
      Returns:
      the new identity
      Throws:
      CouchbaseLiteException - on failure to get identity