Move various e2e defintions out to yaml files (#1166)
We have code to generate tables, which we should use in the e2e section.pull/1178/head
parent
5f3b34448d
commit
ea42cd3c7b
@ -0,0 +1 @@
|
||||
Clarify the format of some structures in the End-to-end encryption module.
|
@ -0,0 +1,36 @@
|
||||
# Copyright 2022 The Matrix.org Foundation C.I.C
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
type: object
|
||||
title: AuthData
|
||||
description: |-
|
||||
The format of the `auth_data` when a key backup is created with the
|
||||
`algorithm` set to `m.megolm_backup.v1.curve25519-aes-sha2`.
|
||||
properties:
|
||||
public_key:
|
||||
type: string
|
||||
description: |-
|
||||
The curve25519 public key used to encrypt the backups, encoded in unpadded base64.
|
||||
example: "abcdefg"
|
||||
signatures:
|
||||
type: object
|
||||
description: |-
|
||||
Signatures of the `auth_data`, as Signed JSON
|
||||
example: {
|
||||
"something": {
|
||||
"ed25519:something": "hijklmnop"
|
||||
}
|
||||
}
|
||||
required: ['public_key']
|
@ -0,0 +1,62 @@
|
||||
# Copyright 2022 The Matrix.org Foundation C.I.C
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
type: object
|
||||
title: SessionData
|
||||
description: |-
|
||||
The format of a backed-up session key, prior to encryption, when using the
|
||||
`m.megolm_backup.v1.curve25519-aes-sha2` algorithm.
|
||||
properties:
|
||||
algorithm:
|
||||
type: string
|
||||
description: |-
|
||||
The end-to-end message encryption algorithm that the key is for. Must be `m.megolm.v1.aes-sha2`.
|
||||
forwarding_curve25519_key_chain:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: |-
|
||||
Chain of Curve25519 keys through which this session was forwarded, via [m.forwarded_room_key](#mforwarded_room_key) events.
|
||||
sender_key:
|
||||
type: string
|
||||
description: |-
|
||||
Unpadded base64-encoded device Curve25519 key.
|
||||
sender_claimed_keys:
|
||||
type: object
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: |-
|
||||
A map from algorithm name (`ed25519`) to the Ed25519 signing key of the sending device.
|
||||
session_key:
|
||||
type: string
|
||||
description: |-
|
||||
Unpadded base64-encoded session key in [session-export format](https://gitlab.matrix.org/matrix-org/olm/blob/master/docs/megolm.md#session-export-format).
|
||||
example: {
|
||||
"algorithm": "m.megolm.v1.aes-sha2",
|
||||
"forwarding_curve25519_key_chain": [
|
||||
"hPQNcabIABgGnx3/ACv/jmMmiQHoeFfuLB17tzWp6Hw"
|
||||
],
|
||||
"sender_key": "RF3s+E7RkTQTGF2d8Deol0FkQvgII2aJDf3/Jp5mxVU",
|
||||
"sender_claimed_keys": {
|
||||
"ed25519": "aj40p+aw64yPIdsxoog8jhPu9i7l7NcFRecuOQblE3Y",
|
||||
},
|
||||
"session_key": "AgAAAADxKHa9uFxcXzwYoNueL5Xqi69IkD4sni8Llf..."
|
||||
}
|
||||
required:
|
||||
- algorithm
|
||||
- forwarding_curve25519_key_chain
|
||||
- sender_key
|
||||
- sender_claimed_keys
|
||||
- session_key
|
@ -0,0 +1,38 @@
|
||||
# Copyright 2022 The Matrix.org Foundation C.I.C
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
allOf:
|
||||
- $ref: key_backup_session_data.yaml
|
||||
- type: object
|
||||
description: |-
|
||||
The format used to encode a Megolm session key for export.
|
||||
|
||||
This is similar to the format before encryption used for the session keys
|
||||
in [Server-side key backups](#server-side-key-backups) but adds the
|
||||
`room_id` and `session_id` fields.
|
||||
properties:
|
||||
room_id:
|
||||
type: string
|
||||
description: |-
|
||||
The room where the session is used.
|
||||
example: "!Cuyf34gef24t:localhost"
|
||||
session_id:
|
||||
type: string
|
||||
description: |-
|
||||
The Megolm session ID.
|
||||
example: "X3lUlvLELLYxeTx4yOVu6UDpasGEVO0Jbu+QFnm0cKQ"
|
||||
required:
|
||||
- room_id
|
||||
- session_id
|
Loading…
Reference in New Issue