pub struct HistoricRoomKey {
pub algorithm: EventEncryptionAlgorithm,
pub room_id: OwnedRoomId,
pub sender_key: Curve25519PublicKey,
pub session_id: String,
pub session_key: ExportedSessionKey,
pub sender_claimed_keys: SigningKeys<DeviceKeyAlgorithm>,
}Expand description
An InboundGroupSession for sharing as part of a RoomKeyBundle.
Note: unlike a room key received via an m.room_key message (i.e., a
RoomKeyContent), we have no direct proof that the original sender
actually created this session; rather, we have to take the word of
whoever sent us this key bundle.
Fields§
§algorithm: EventEncryptionAlgorithmThe encryption algorithm that the session uses.
room_id: OwnedRoomIdThe room where the session is used.
sender_key: Curve25519PublicKeyThe Curve25519 key of the device which initiated the session originally, according to the device that sent us this key.
session_id: StringThe ID of the session that the key is for.
session_key: ExportedSessionKeyThe key for the session.
sender_claimed_keys: SigningKeys<DeviceKeyAlgorithm>The Ed25519 key of the device which initiated the session originally, according to the device that sent us this key.
Trait Implementations§
Source§impl Debug for HistoricRoomKey
impl Debug for HistoricRoomKey
Source§impl<'de> Deserialize<'de> for HistoricRoomKey
impl<'de> Deserialize<'de> for HistoricRoomKey
Source§fn 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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<ExportedRoomKey> for HistoricRoomKey
impl From<ExportedRoomKey> for HistoricRoomKey
Source§fn from(exported_room_key: ExportedRoomKey) -> Self
fn from(exported_room_key: ExportedRoomKey) -> Self
Converts to this type from the input type.
Source§impl RoomKeyExport for &HistoricRoomKey
impl RoomKeyExport for &HistoricRoomKey
Source§fn session_id(&self) -> &str
fn session_id(&self) -> &str
The unique ID of the exported room key.
Source§fn sender_key(&self) -> Curve25519PublicKey
fn sender_key(&self) -> Curve25519PublicKey
The Curve25519PublicKey long-term identity key of the sender of this
room key.
Source§impl Serialize for HistoricRoomKey
impl Serialize for HistoricRoomKey
Source§impl TryFrom<&HistoricRoomKey> for InboundGroupSession
impl TryFrom<&HistoricRoomKey> for InboundGroupSession
Source§type Error = SessionCreationError
type Error = SessionCreationError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for HistoricRoomKey
impl RefUnwindSafe for HistoricRoomKey
impl Send for HistoricRoomKey
impl Sync for HistoricRoomKey
impl Unpin for HistoricRoomKey
impl UnwindSafe for HistoricRoomKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more