Add a method to create an ExportedRoomKey from a BackedUpRoomKey
This commit is contained in:
@@ -575,15 +575,11 @@ impl BackupMachine {
|
||||
|
||||
for (room_id, room_keys) in room_keys {
|
||||
for (session_id, room_key) in room_keys {
|
||||
let room_key = ExportedRoomKey {
|
||||
algorithm: room_key.algorithm,
|
||||
room_id: room_id.to_owned(),
|
||||
sender_key: room_key.sender_key,
|
||||
let room_key = ExportedRoomKey::from_backed_up_room_key(
|
||||
room_id.to_owned(),
|
||||
session_id,
|
||||
session_key: room_key.session_key,
|
||||
sender_claimed_keys: room_key.sender_claimed_keys,
|
||||
forwarding_curve25519_key_chain: room_key.forwarding_curve25519_key_chain,
|
||||
};
|
||||
room_key,
|
||||
);
|
||||
|
||||
decrypted_room_keys.push(room_key);
|
||||
}
|
||||
|
||||
@@ -97,6 +97,24 @@ pub struct ExportedRoomKey {
|
||||
pub forwarding_curve25519_key_chain: Vec<Curve25519PublicKey>,
|
||||
}
|
||||
|
||||
impl ExportedRoomKey {
|
||||
pub(crate) fn from_backed_up_room_key(
|
||||
room_id: OwnedRoomId,
|
||||
session_id: String,
|
||||
room_key: BackedUpRoomKey,
|
||||
) -> Self {
|
||||
Self {
|
||||
algorithm: room_key.algorithm,
|
||||
room_id,
|
||||
sender_key: room_key.sender_key,
|
||||
session_id,
|
||||
session_key: room_key.session_key,
|
||||
sender_claimed_keys: room_key.sender_claimed_keys,
|
||||
forwarding_curve25519_key_chain: room_key.forwarding_curve25519_key_chain,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// A backed up version of an `InboundGroupSession`
|
||||
///
|
||||
/// This can be used to backup the `InboundGroupSession` to the server.
|
||||
|
||||
Reference in New Issue
Block a user