create

suspend fun create(storage: Storage, identifier: String, serverUrl: String, httpClientEngineFactory: HttpClientEngineFactory<*>): CloudSecureArea

Creates an instance of CloudSecureArea.

The given identifier must start with CloudSecureArea and if the application is only using a single instance of CloudSecureArea, just using this string as the identifier is fine.

For applications using multiple instances of CloudSecureArea, a common format for the identifier is CloudSecureArea?id=1234567890&url=https://csa.example.com/csa-server where the id parameter is a unique identifier for the document and the url parameter contains the URL to connect to.

The identifier is used as a prefix for the Android Keystore alias space and also as a prefix for all keys used in the passed-in storageTable. As such, it's safe to use the same StorageEngine instance for multiple CloudSecureArea instances.

Parameters

storage

the storage engine to use for storing key material.

identifier

an identifier for the Cloud Secure Area.

serverUrl

the URL the Cloud Secure Area is using.

httpClientEngineFactory

the factory for creating the Ktor HTTP client engine (e.g. CIO)