ForwardedRoomKeyContent

@JsonClass(generateAdapter = true)
data class ForwardedRoomKeyContent(    @Json(name = "algorithm") val algorithm: String? = null,     @Json(name = "room_id") val roomId: String? = null,     @Json(name = "sender_key") val senderKey: String? = null,     @Json(name = "session_id") val sessionId: String? = null,     @Json(name = "session_key") val sessionKey: String? = null,     @Json(name = "forwarding_curve25519_key_chain") val forwardingCurve25519KeyChain: List<String>? = null,     @Json(name = "sender_claimed_ed25519_key") val senderClaimedEd25519Key: String? = null,     @Json(name = "org.matrix.msc3061.shared_history") val sharedHistory: Boolean? = false)

Class representing the forward room key request body content Ref: https://matrix.org/docs/spec/client_server/latest#m-forwarded-room-key

Constructors

Link copied to clipboard
fun ForwardedRoomKeyContent(    @Json(name = "algorithm") algorithm: String? = null,     @Json(name = "room_id") roomId: String? = null,     @Json(name = "sender_key") senderKey: String? = null,     @Json(name = "session_id") sessionId: String? = null,     @Json(name = "session_key") sessionKey: String? = null,     @Json(name = "forwarding_curve25519_key_chain") forwardingCurve25519KeyChain: List<String>? = null,     @Json(name = "sender_claimed_ed25519_key") senderClaimedEd25519Key: String? = null,     @Json(name = "org.matrix.msc3061.shared_history") sharedHistory: Boolean? = false)

Properties

Link copied to clipboard
val algorithm: String? = null

Required. The encryption algorithm the key in this event is to be used with.

Link copied to clipboard
val forwardingCurve25519KeyChain: List<String>? = null

Required. 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.

Link copied to clipboard
val roomId: String? = null

Required. The room where the key is used.

Link copied to clipboard
val senderClaimedEd25519Key: String? = null

Required. The 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.

Link copied to clipboard
val senderKey: String? = null

Required. The Curve25519 key of the device which initiated the session originally.

Link copied to clipboard
val sessionId: String? = null

Required. The ID of the session that the key is for.

Link copied to clipboard
val sessionKey: String? = null

Required. The key to be exchanged.

Link copied to clipboard
val sharedHistory: Boolean? = false

MSC3061 Identifies keys that were sent when the room's visibility setting was set to world_readable or shared.