Module matrix_sdk_crypto::types
source · Expand description
Module containing customized types modeling Matrix keys and events.
These types were mostly taken from the Ruma project. The types differ in a couple of important ways to the Ruma types of the same name:
- They are using vodozemac types so we directly deserialize into a vodozemac Curve25519 or Ed25519 key.
- They support lossless serialization cycles in a canonical JSON supported way, meaning the white-space and field order won’t be preserved but the data will.
- Types containing secrets implement the
Zeroize
andZeroizeOnDrop
traits to clear out any memory containing secret key material.
Modules§
- Types modeling end-to-end encryption related Matrix events
- Data types for the QR code login mechanism described in MSC4108
Structs§
- A cross signing key.
- Data for the secrets bundle containing the cross-signing keys.
- Represents a Matrix cryptographic device
- Represents a signature that could not be decoded.
- Wrapper for a cross signing key marking it as the master key.
- Data for the secrets bundle containing the secret and version for a
m.megolm_backup.v1.curve25519-aes-sha2
backup. - Auth data for the
m.megolm_backup.v1.curve25519-aes-sha2
backup algorithm as defined in the spec. - Struct containing the bundle of secrets to fully activate a new devices for end-to-end encryption.
- Wrapper for a cross signing key marking it as a self signing key.
- Signatures for a signed object.
- A key for the SignedCurve25519 algorithm
- A collection of signing keys, a map from the key id to the signing key.
- Additional data added to device key information by intermediate servers.
- Wrapper for a cross signing key marking it as a user signing key.
Enums§
- Enum for the algorithm-specific secrets for the room key backup.
- An enum over the different key types a device can have.
- An encryption algorithm to be used to encrypt messages sent to a room.
- A one-time public key for “pre-key” messages.
- Information pertaining to a room key backup. Can be used to upload a new backup version as defined in the spec.
- Represents a potentially decoded signature (but not a validated one).
- An enum over the different key types a cross-signing key can have.