File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -19,11 +19,26 @@ paths:
19
19
/keys/device_signing/upload :
20
20
post :
21
21
x-addedInMatrixVersion : " 1.1"
22
+ x-changedInMatrixVersion :
23
+ " 1.11 " : UIA is not always required for this endpoint.
22
24
summary : Upload cross-signing keys.
23
25
description : |-
24
26
Publishes cross-signing keys for the user.
25
27
26
28
This API endpoint uses the [User-Interactive Authentication API](/client-server-api/#user-interactive-authentication-api).
29
+
30
+ User-Interactive Authentication is required, except in these cases:
31
+ - there is no existing cross-signing master key uploaded to the homeserver, OR
32
+ - there is an existing cross-signing master key and it exactly matches the
33
+ cross-signing master key provided in the request body. If there are any additional
34
+ keys provided in the request (self-signing key, user-signing key) they MUST also
35
+ match the existing keys stored on the server. In other words, the request contains
36
+ no new keys.
37
+
38
+ This allows clients to freely upload 1 set of keys, but not modify/overwrite keys if
39
+ they already exist. By allowing clients to upload the same set of keys more than once,
40
+ this makes this endpoint idempotent in the case where the response is lost over the
41
+ network, which would otherwise cause a UIA challenge upon retry.
27
42
operationId : uploadCrossSigningKeys
28
43
security :
29
44
- accessTokenQuery : []
You can’t perform that action at this time.
0 commit comments