mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-06-28 02:17:48 +02:00
Some checks failed
Spec / 🔎 Validate OpenAPI specifications (push) Has been cancelled
Spec / 🔎 Check Event schema examples (push) Has been cancelled
Spec / 🔎 Check OpenAPI definitions examples (push) Has been cancelled
Spec / 🔎 Check JSON Schemas inline examples (push) Has been cancelled
Spec / ⚙️ Calculate baseURL for later jobs (push) Has been cancelled
Spec / 📢 Run towncrier for changelog (push) Has been cancelled
Spell Check / Spell Check with Typos (push) Has been cancelled
Spec / 🐍 Build OpenAPI definitions (push) Has been cancelled
Spec / 📖 Build the spec (push) Has been cancelled
Spec / 🔎 Validate generated HTML (push) Has been cancelled
Spec / 📖 Build the historical backup spec (push) Has been cancelled
Spec / Create release (push) Has been cancelled
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com> Co-authored-by: Johannes Marbach <n0-0ne+github@mailbox.org> Co-authored-by: Hubert Chathi <hubertc@matrix.org>
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
---
|
|
$schema: https://json-schema.org/draft/2020-12/schema
|
|
|
|
allOf:
|
|
- $ref: core-event-schema/event.yaml
|
|
|
|
description: |-
|
|
This event type is used to exchange keys for end-to-end encryption.
|
|
It is encrypted as an `m.room.encrypted` event using [Olm](/client-server-api/#molmv1curve25519-aes-sha2),
|
|
then sent as a [to-device](/client-server-api/#send-to-device-messaging) event.
|
|
properties:
|
|
content:
|
|
properties:
|
|
algorithm:
|
|
type: string
|
|
enum: ["m.megolm.v1.aes-sha2"]
|
|
description: |-
|
|
The encryption algorithm the key in this event is to be used with.
|
|
room_id:
|
|
type: string
|
|
description: The room where the key is used.
|
|
session_id:
|
|
type: string
|
|
description: The ID of the session that the key is for.
|
|
session_key:
|
|
type: string
|
|
description: The key to be exchanged.
|
|
shared_history:
|
|
x-addedInMatrixVersion: "1.19"
|
|
type: boolean
|
|
description: |
|
|
`true` indicates that the creator of this encryption key considers that
|
|
the session is [shareable](/client-server-api/#shareable-encryption-sessions):
|
|
in other words, the sender has observed that the [room history
|
|
visibility](/client-server-api/#room-history-visibility) is set to
|
|
`shared` or `world_readable`, and that they understand and agree that
|
|
the session keys may be shared with newly-invited users in future.
|
|
|
|
Absence, or any other value, indicates that the creator of the
|
|
session does not consider the session to be shareable.
|
|
required:
|
|
- algorithm
|
|
- room_id
|
|
- session_id
|
|
- session_key
|
|
type: object
|
|
type:
|
|
enum:
|
|
- m.room_key
|
|
type: string
|
|
type: object
|