pub struct ToDeviceForwardedRoomKeyEventContent {
pub algorithm: EventEncryptionAlgorithm,
pub room_id: OwnedRoomId,
pub sender_key: String,
pub session_id: String,
pub session_key: String,
pub sender_claimed_ed25519_key: String,
pub forwarding_curve25519_key_chain: Vec<String>,
}events only.Expand description
The content of an m.forwarded_room_key event.
To create an instance of this type, first create a ToDeviceForwardedRoomKeyEventContentInit
and convert it via ToDeviceForwardedRoomKeyEventContent::from / .into().
Fields
algorithm: EventEncryptionAlgorithmThe encryption algorithm the key in this event is to be used with.
room_id: OwnedRoomIdThe room where the key is used.
sender_key: StringThe Curve25519 key of the device which initiated the session originally.
session_id: StringThe ID of the session that the key is for.
session_key: StringThe key to be exchanged.
sender_claimed_ed25519_key: StringThe Ed25519 key of the device which initiated the session originally.
It is “claimed” because the receiving device has no way to tell that the original room_key actually came from a device which owns the private part of this key unless they have done device verification.
forwarding_curve25519_key_chain: Vec<String>Chain of Curve25519 keys.
It starts out empty, but each time the key is forwarded to another device, the previous sender in the chain is added to the end of the list. For example, if the key is forwarded from A to B to C, this field is empty between A and B, and contains A’s Curve25519 key between B and C.
Trait Implementations
sourceimpl Clone for ToDeviceForwardedRoomKeyEventContent
impl Clone for ToDeviceForwardedRoomKeyEventContent
sourcefn clone(&self) -> ToDeviceForwardedRoomKeyEventContent
fn clone(&self) -> ToDeviceForwardedRoomKeyEventContent
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl<'de> Deserialize<'de> for ToDeviceForwardedRoomKeyEventContent
impl<'de> Deserialize<'de> for ToDeviceForwardedRoomKeyEventContent
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
sourceimpl EventContent for ToDeviceForwardedRoomKeyEventContent
impl EventContent for ToDeviceForwardedRoomKeyEventContent
type EventType = ToDeviceEventType
type EventType = ToDeviceEventType
sourcefn event_type(&self) -> Self::EventType
fn event_type(&self) -> Self::EventType
m.room.message.