MlsCoreCryptoContext

Functions

Link copied to clipboard
abstract suspend fun addMember(groupId: MLSGroupId, membersKeyPackages: List<MLSKeyPackage>)

Add a user/client to an existing MLS group

Link copied to clipboard
abstract suspend fun checkCredentials()

Refresh expiration and revocation information for all installed credentials.

Link copied to clipboard
abstract suspend fun commitPendingProposals(groupId: MLSGroupId)

Create a commit for any pending proposals

Link copied to clipboard
abstract suspend fun conversationEpoch(groupId: MLSGroupId): <Error class: unknown class>

Query the current epoch of a conversation

Link copied to clipboard
abstract suspend fun conversationExists(groupId: MLSGroupId): Boolean

Query if a conversation exists

Link copied to clipboard
abstract suspend fun createConversation(groupId: MLSGroupId, externalSenders: ByteArray)

Create a new MLS conversation

Link copied to clipboard
abstract suspend fun decryptMessage(groupId: String, message: ByteArray): MLSDecryptResult

Decrypt an application message or a handshake message

Link copied to clipboard
abstract suspend fun deriveSecret(groupId: MLSGroupId, keyLength: <Error class: unknown class>): ByteArray

Derive a secret key from the current MLS group state

Link copied to clipboard
abstract suspend fun encryptMessage(groupId: MLSGroupId, message: PlainMessage): ApplicationMessage

Encrypt a message for distribution in a group

Link copied to clipboard
abstract suspend fun generateKeyPackages(amount: Int, credentialRef: CryptoCredentialRef? = null): List<ByteArray>

Generate a fresh set of key packages.

Link copied to clipboard

Return a reference to the credential currently used by an existing conversation.

Link copied to clipboard

Get the default ciphersuite for the client. the Default ciphersuite is set when creating the mls client.

Link copied to clipboard
abstract suspend fun getDeviceIdentities(groupId: MLSGroupId, clients: List<CryptoQualifiedClientId>): List<WireIdentity>

Get the identity of given clients in the given conversation

Link copied to clipboard
abstract suspend fun getExternalSenders(groupId: MLSGroupId): ExternalSenderKey

Get External Senders of an MLS conversation

Link copied to clipboard
abstract suspend fun getGroupState(groupId: MLSGroupId): E2EIConversationState

Conversation E2EI Verification Status

Link copied to clipboard
abstract suspend fun getUserIdentities(groupId: MLSGroupId, users: List<CryptoQualifiedID>): Map<String, List<WireIdentity>>

Get the identity of given users in the given conversation

Link copied to clipboard
abstract suspend fun isE2EIEnabled(): Boolean

The E2EI State for the current MLS Client

Link copied to clipboard
abstract suspend fun joinByExternalCommit(publicGroupState: ByteArray): MLSGroupId

Request to join an existing conversation by external commit

Link copied to clipboard
abstract suspend fun members(groupId: MLSGroupId): List<CryptoQualifiedClientId>

Current members of the group.

Link copied to clipboard
abstract suspend fun processWelcomeMessage(message: WelcomeMessage): MLSGroupId

Process an incoming welcome message

Link copied to clipboard
abstract suspend fun removeCredential(credentialRef: CryptoCredentialRef)

Remove a credential from this client.

Link copied to clipboard
abstract suspend fun removeKeyPackages(credentialRef: CryptoCredentialRef)

Remove all key packages associated with a credential.

Link copied to clipboard
abstract suspend fun removeMember(groupId: MLSGroupId, members: List<CryptoQualifiedClientId>)

Remove a user/client from an existing MLS group

Link copied to clipboard
abstract suspend fun removeStaleKeyPackages()

Deletes the stale key packages locally

Link copied to clipboard
abstract suspend fun setConversationCredential(groupId: MLSGroupId, credentialRef: CryptoCredentialRef)

Change an existing conversation to use the supplied credential.

Link copied to clipboard
abstract suspend fun updateKeyingMaterial(groupId: MLSGroupId)

Update your keying material for an existing conversation you're a member of.

Link copied to clipboard
abstract suspend fun validKeyPackageCount(): <Error class: unknown class>

Number of valid key packages which haven't been consumed

Link copied to clipboard
abstract suspend fun wipeConversation(groupId: MLSGroupId)