mtx::requests::UploadKeys struct

Upload a mix of device, one time and fallback keys.

Public variables

mtx::crypto::DeviceKeys device_keys
Identity keys for the device. May be absent if no new identity keys are required.
std::map<std::string, std::variant<std::string, SignedOneTimeKey>> one_time_keys
One-time public keys for "pre-key" messages. The names of the properties should be in the format <algorithm>:<key_id>. The format of the key is determined by the key algorithm.
std::map<std::string, std::variant<std::string, SignedOneTimeKey>> fallback_keys
The public key which should be used if the device’s one-time keys are exhausted. The fallback key is not deleted once used, but should be replaced when additional one-time keys are being uploaded. The server will notify the client of the fallback key being used through /sync.

Variable documentation

std::map<std::string, std::variant<std::string, SignedOneTimeKey>> mtx::requests::UploadKeys::fallback_keys

The public key which should be used if the device’s one-time keys are exhausted. The fallback key is not deleted once used, but should be replaced when additional one-time keys are being uploaded. The server will notify the client of the fallback key being used through /sync.

There can only be at most one key per algorithm uploaded, and the server will only persist one key per algorithm.

When uploading a signed key, an additional fallback: true key should be included to denote that the key is a fallback key.

May be absent if a new fallback key is not required.