diff --git a/proposals/1756-cross-signing.md b/proposals/1756-cross-signing.md index 6d5ddd402..68143b878 100644 --- a/proposals/1756-cross-signing.md +++ b/proposals/1756-cross-signing.md @@ -168,6 +168,58 @@ response: Similarly, the federation endpoints `GET /user/keys/query` and `POST /user/devices/{userId}` will include the self-signing key. +`POST /keys/query` + +``` json +{ + "device_keys": { + "@alice:example.com": [] + } +} +``` + +response: + +``` json +{ + "device_keys": { + "@alice:example.com": { + // ... + } + }, + "self_signing_keys": { + "@alice:example.com": { + "user_id": "@alice:example.com", + "usage": ["self_signing"], + "keys": { + "ed25519:base64+self+signing+public+key": "base64+self+signing+public+key" + } + } + } +} +``` + +`GET /user/devices/%40alice%3Aexample.com` + +response: + +``` json +{ + "user_id": "@alice:example.com", + "stream_id": 5, + "devices": [ + // ... + ], + "self_signing_keys": { + "user_id": "@alice:example.com", + "usage": ["self_signing"], + "keys": { + "ed25519:base64+self+signing+public+key": "base64+self+signing+public+key" + } + } +} +``` + In addition, Alice's homeserver will send a `m.signing_key_update` EDU to servers that have users who share encrypted rooms with Alice. The `content` of that EDU has the following properties: