|
|
|
---
|
|
|
|
allOf:
|
|
|
|
- $ref: core-event-schema/event.yaml
|
|
|
|
|
|
|
|
description: |-
|
|
|
|
This event type is used to request keys for end-to-end encryption. It is sent as an
|
|
|
|
unencrypted [to-device](/client-server-api/#send-to-device-messaging) event.
|
|
|
|
properties:
|
|
|
|
content:
|
|
|
|
properties:
|
|
|
|
body:
|
|
|
|
description: |-
|
|
|
|
Information about the requested key. Required when `action` is
|
|
|
|
`request`.
|
|
|
|
properties:
|
|
|
|
algorithm:
|
|
|
|
type: string
|
|
|
|
description: |-
|
|
|
|
The encryption algorithm the requested key in this event is to be used
|
|
|
|
with.
|
|
|
|
room_id:
|
|
|
|
type: string
|
|
|
|
description: The room where the key is used.
|
|
|
|
sender_key:
|
|
|
|
type: string
|
|
|
|
x-changedInMatrixVersion:
|
|
|
|
"1.3": |-
|
|
|
|
Previously this field was required, however given it offers no additional
|
|
|
|
security or privacy benefit it has been deprecated. See [`m.megolm.v1.aes-sha2`](#mmegolmv1aes-sha2)
|
|
|
|
for more information.
|
|
|
|
description: |-
|
|
|
|
The Curve25519 key of the device which initiated the session originally.
|
|
|
|
|
|
|
|
**Deprecated**: This field provides no additional security or privacy benefit
|
|
|
|
and must not be read from. It should still be included on outgoing messages
|
|
|
|
(if the event for which keys are being requested for *also* has a `sender_key`),
|
|
|
|
however must not be used to find the corresponding session. See [`m.megolm.v1.aes-sha2`](#mmegolmv1aes-sha2)
|
|
|
|
for more information.
|
|
|
|
session_id:
|
|
|
|
type: string
|
|
|
|
description: The ID of the session that the key is for.
|
|
|
|
required:
|
|
|
|
- algorithm
|
|
|
|
- room_id
|
|
|
|
- session_id
|
|
|
|
type: object
|
|
|
|
title: RequestedKeyInfo
|
|
|
|
action:
|
|
|
|
enum:
|
|
|
|
- request
|
|
|
|
- request_cancellation
|
|
|
|
type: string
|
|
|
|
requesting_device_id:
|
|
|
|
description: ID of the device requesting the key.
|
|
|
|
type: string
|
|
|
|
request_id:
|
|
|
|
description: |-
|
|
|
|
A random string uniquely identifying the request for a key. If the key is
|
|
|
|
requested multiple times, it should be reused. It should also reused in order
|
|
|
|
to cancel a request.
|
|
|
|
type: string
|
|
|
|
required:
|
|
|
|
- action
|
|
|
|
- requesting_device_id
|
|
|
|
- request_id
|
|
|
|
type: object
|
|
|
|
type:
|
|
|
|
enum:
|
|
|
|
- m.room_key_request
|
|
|
|
type: string
|
|
|
|
type: object
|