Spec SAS verification and the common key verification framework

Reference implementations:
* 94f664e725
* https://github.com/matrix-org/matrix-react-sdk/pull/2461
* https://github.com/matrix-org/matrix-js-sdk/pull/818
* https://github.com/matrix-org/matrix-react-sdk/pull/2596
* https://github.com/matrix-org/matrix-js-sdk/pull/837

Proposals:
* [MSC1717](https://github.com/matrix-org/matrix-doc/pull/1717)
* [MSC1267](https://github.com/matrix-org/matrix-doc/issues/1267)

No alterations to either proposal have been made intentionally here.
This commit is contained in:
Travis Ralston 2019-06-04 12:41:30 -06:00
parent 9cb60fa468
commit a3364ff357
20 changed files with 847 additions and 3 deletions

View file

@ -0,0 +1,39 @@
---
allOf:
- $ref: core-event-schema/event.yaml
description: |-
Begins a key verification process. Typically sent as a `to-device`_ event.
properties:
content:
properties:
from_device:
type: string
description: |-
The device ID which is initiating the process.
transaction_id:
type: string
description: |-
An opaque identifier for the verification process. Must be unique
with respect to the devices involved. Must be the same as the
``transaction_id`` given in the ``m.key.verification.request``
if this process is originating from a request.
method:
type: string
description: |-
The verification method to use.
next_method:
type: string
description: |-
Optional method to use to verify the other user's key with. Applicable
when the ``method`` chosen only verifies one user's key.
required:
- from_device
- transaction_id
- method
type: object
type:
enum:
- m.key.verification.start
type: string
type: object