Module 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:

  1. They are using vodozemac types so we directly deserialize into a vodozemac Curve25519 or Ed25519 key.
  2. 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.
  3. Types containing secrets implement the Zeroize and ZeroizeOnDrop traits to clear out any memory containing secret key material.

Modules§

events
Types modeling end-to-end encryption related Matrix events
qr_login
Data types for the QR code login mechanism described in MSC4108
requests
Modules containing customized request types.

Structs§

CrossSigningKey
A cross signing key.
CrossSigningSecrets
Data for the secrets bundle containing the cross-signing keys.
DeviceKeys
Represents a Matrix cryptographic device
InvalidSignature
Represents a signature that could not be decoded.
MasterPubkey
Wrapper for a cross signing key marking it as the master key.
MegolmBackupV1Curve25519AesSha2Secrets
Data for the secrets bundle containing the secret and version for a m.megolm_backup.v1.curve25519-aes-sha2 backup.
MegolmV1AuthData
Auth data for the m.megolm_backup.v1.curve25519-aes-sha2 backup algorithm as defined in the spec.
SecretsBundle
Struct containing the bundle of secrets to fully activate a new devices for end-to-end encryption.
SelfSigningPubkey
Wrapper for a cross signing key marking it as a self signing key.
Signatures
Signatures for a signed object.
SignedKey
A key for the SignedCurve25519 algorithm
SigningKeys
A collection of signing keys, a map from the key id to the signing key.
UnsignedDeviceInfo
Additional data added to device key information by intermediate servers.
UserSigningPubkey
Wrapper for a cross signing key marking it as a user signing key.

Enums§

BackupSecrets
Enum for the algorithm-specific secrets for the room key backup.
DeviceKey
An enum over the different key types a device can have.
EventEncryptionAlgorithm
An encryption algorithm to be used to encrypt messages sent to a room.
OneTimeKey
A one-time public key for “pre-key” messages.
RoomKeyBackupInfo
Information pertaining to a room key backup. Can be used to upload a new backup version as defined in the spec.
Signature
Represents a potentially decoded signature (but not a validated one).
SigningKey
An enum over the different key types a cross-signing key can have.