Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove keyId from the server keys endpoints #1350

Merged
merged 4 commits into from Jan 3, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions changelogs/server_server/newsfragments/1350.breaking
@@ -0,0 +1 @@
Remove `keyId` from the server keys endpoints.
2 changes: 1 addition & 1 deletion content/rooms/fragments/v5-signing-requirements.md
Expand Up @@ -3,7 +3,7 @@ When validating event signatures, servers MUST enforce the
`valid_until_ts` property from a key request is at least as large as the
`origin_server_ts` for the event being validated. Servers missing a copy
of the signing key MUST try to obtain one via the [GET
/\_matrix/key/v2/server](/server-server-api#get_matrixkeyv2serverkeyid)
/\_matrix/key/v2/server](/server-server-api#get_matrixkeyv2server)
or [POST
/\_matrix/key/v2/query](/server-server-api#post_matrixkeyv2query)
APIs. When using the `/query` endpoint, servers MUST set the
Expand Down
10 changes: 5 additions & 5 deletions content/server-server-api.md
Expand Up @@ -188,11 +188,11 @@ draft](https://github.com/matrix-org/matrix-doc/blob/51faf8ed2e4a63d4cfd6d231836
{{% /boxes/note %}}

Each homeserver publishes its public keys under
`/_matrix/key/v2/server/{keyId}`. Homeservers query for keys by either
getting `/_matrix/key/v2/server/{keyId}` directly or by querying an
`/_matrix/key/v2/server`. Homeservers query for keys by either
getting `/_matrix/key/v2/server` directly or by querying an
intermediate notary server using a
`/_matrix/key/v2/query/{serverName}/{keyId}` API. Intermediate notary
servers query the `/_matrix/key/v2/server/{keyId}` API on behalf of
`/_matrix/key/v2/query/{serverName}` API. Intermediate notary
servers query the `/_matrix/key/v2/server` API on behalf of
another server and sign the response with their own key. A server may
query multiple notary servers to ensure that they all report the same
public keys.
Expand All @@ -219,7 +219,7 @@ homeserver and for signing events. It contains a list of
Servers may query another server's keys through a notary server. The
notary server may be another homeserver. The notary server will retrieve
keys from the queried servers through use of the
`/_matrix/key/v2/server/{keyId}` API. The notary server will
`/_matrix/key/v2/server` API. The notary server will
additionally sign the response from the queried server before returning
the results.

Expand Down
13 changes: 1 addition & 12 deletions data/api/server-server/keys_query.yaml
Expand Up @@ -25,7 +25,7 @@ consumes:
produces:
- application/json
paths:
"/query/{serverName}/{keyId}":
"/query/{serverName}":
get:
summary: Query for another server's keys
description: |-
Expand All @@ -39,17 +39,6 @@ paths:
description: The server's DNS name to query
required: true
x-example: matrix.org
- in: path
name: keyId
type: string
description: |-
**Deprecated**. Servers should not use this parameter and instead
opt to return all keys, not just the requested one. The key ID to
look up.

When excluded, the trailing slash on this endpoint is optional.
required: false
x-example: "ed25519:abc123"
- in: query
name: minimum_valid_until_ts
type: integer
Expand Down
15 changes: 1 addition & 14 deletions data/api/server-server/keys_server.yaml
Expand Up @@ -23,7 +23,7 @@ basePath: /_matrix/key/v2
produces:
- application/json
paths:
"/server/{keyId}":
"/server":
get:
summary: Get the homeserver's public key(s)
description: |-
Expand All @@ -43,19 +43,6 @@ paths:
from the server so that the signatures of old events can still be
checked.
operationId: getServerKey
parameters:
- in: path
name: keyId
type: string
description: |-
**Deprecated**. Servers should not use this parameter and instead
opt to return all keys, not just the requested one. The key ID to
look up.

When excluded, the trailing slash on this endpoint is optional.
required: false
x-example: "ed25519:abc123"
deprecated: true
responses:
200:
description: The homeserver's keys
Expand Down