matrix-org / matrix-spec

The Matrix protocol specification
Apache License 2.0
194 stars 96 forks source link

If a server specifies multiple active verify keys, which one(s) are required to sign an object? #1471

Open turt2live opened 1 year ago

turt2live commented 1 year ago

Link to problem area:

Issue Nowhere do we actually say which of the server's keys have to sign a given message, though the general case is that a server has exactly 1 active (not-old) key in play.

richvdh commented 1 year ago

Yes, it's never made explicit, but for the record: it is sufficient for an object to be signed by any one active key.

Additionally: neither https://spec.matrix.org/v1.6/server-server-api/#request-authentication nor https://spec.matrix.org/v1.6/server-server-api/#validating-hashes-and-signatures-on-received-events say anything about validity. Again for the record, the expectation is that:

... must lie within the validity period of the key used for the signature.