Module core_crypto::prelude

source ·
Expand description

Common imports that should be useful for most uses of the crate

Re-exports§

Structs§

  • Represents a x509 certificate chain supplied by the client It can fetch it after an end-to-end identity process where it can get back a certificate from the Authentication Service
  • Represents a MLS client which in our case is the equivalent of a device. It can be the Android, iOS, web or desktop application which the authenticated user is using. A user has many client, a client has only one user. A client can belong to many MLS groups
  • A unique identifier for clients. A client is an identifier for each App a user is using, such as desktop, mobile, etc. Users can have multiple clients. More information here
  • Credential.
  • Wrapped 32-byte entropy seed with bounds check
  • Group epoch. Internally this is stored as a u64. The group epoch is incremented with every valid Commit that is merged into the group state.
  • The key package struct.
  • The key package struct.
  • Configuration parameters for MlsCentral
  • A wrapper for the OpenMLS Ciphersuite, so that we are able to provide a default value.
  • Returned when a commit is created
  • The configuration parameters for a group/conversation
  • Returned when initializing a conversation through a commit. Different from conversation created from a [openmls::prelude::Welcome] message or an external commit.
  • Returned when a commit is created
  • The configuration parameters for a group/conversation which are not handled natively by openmls
  • A MlsGroup represents an MLS group with a high-level API. The API exposes high level functions to manage a group by adding/removing members, get the current member list, etc.
  • Specifies the configuration parameters for a MlsGroup. Refer to the User Manual for more information about the different configuration values.
  • A [GroupInfo] with metadata
  • Before use with the MlsGroup API, the message has to be unpacked via extract to yield its [MlsMessageInBody].
  • Returned when a Proposal is created. Helps roll backing a local proposal
  • Abstraction over a [openmls::prelude::hash_ref::ProposalRef] to deal with conversions
  • Result returned after rotating the Credential of the current client in all the local conversations
  • A type that represents a group info of which the signature has not been verified. It implements the [Verifiable] trait and can be turned into a group info by calling verify(...) with the signature key of the Credential. When receiving a serialized group info, it can only be deserialized into a VerifiableGroupInfo, which can then be turned into a group info as described above.
  • Contains everything client needs to know after decrypting an (encrypted) Welcome message
  • Represents the identity claims identifying a client Those claims are verifiable by any member in the group
  • Represents the parts of WireIdentity that are specific to a X509 certificate (and not a Basic one). We don’t use an enum here since the sole purpose of this is to be exposed through the FFI (and union types are impossible to carry over the FFI boundary)

Enums§

  • MLS ciphersuites.
  • Used by consumers to initializes a MLS client. Encompasses all the client types available. Could be enriched later with Verifiable Presentations.
  • CoreCrypto errors
  • Wrapper for errors that can happen during a Cryptobox migration
  • Indicates the standalone status of a device Credential in a MLS group at a moment T. This does not represent the states where a device is not using MLS or is not using end-to-end identity
  • Indicates the state of a Conversation regarding end-to-end identity. Note: this does not check pending state (pending commit, pending proposals) so it does not consider members about to be added/removed
  • Represents the byte array in MlsGroupInfoBundle
  • Lists all the supported Credential types. Could list in the future some types not supported by openmls such as Verifiable Presentation
  • MLS-specific error wrapper - see github.com/openmls/openmls for details
  • GroupInfoEncryptionType
  • Internal representation of proposal to ease further additions
  • RatchetTreeType
  • Wrapper over WireFormatPolicy
  • Container enum for leaf and parent nodes.
  • Wrapper for Proteus-related errors

Constants§

Type Aliases§