mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-06 14:33:10 -06:00
* Cross-signing groundwork * Update to matrix-org/gomatrixserverlib#274 * Fix gobind builds, which stops unit tests in CI from yelling * Some changes from review comments * Fix build by passing in UIA * Update to matrix-org/gomatrixserverlib@bec8d22 * Process master/self-signing keys from devices call * nolint * Enum-ify the key type in the database * Process self-signing key too * Fix sanity check in device list updater * Fix check * Fix sytest, hopefully * Fix build |
||
|---|---|---|
| .. | ||
| api | ||
| consumers | ||
| internal | ||
| inthttp | ||
| producers | ||
| storage | ||
| types | ||
| keyserver.go | ||
| README.md | ||
Key Server
This is an internal component which manages E2E keys from clients. It handles all the Key Management APIs with the exception of /keys/changes which is handled by Sync API. This component is designed to shard by user ID.
Keys are uploaded and stored in this component, and key changes are emitted to a Kafka topic for downstream components such as Sync API.
Internal APIs
PerformUploadKeysstores identity keys and one-time public keys for given user(s).PerformClaimKeysacquires one-time public keys for given user(s). This may involve outbound federation calls.QueryKeysreturns identity keys for given user(s). This may involve outbound federation calls. This component may then cache federated identity keys to avoid repeatedly hitting remote servers.- A topic which emits identity keys every time there is a change (addition or deletion).
### Endpoint mappings
- Client API maps
/keys/uploadtoPerformUploadKeys. - Client API maps
/keys/querytoQueryKeys. - Client API maps
/keys/claimtoPerformClaimKeys. - Federation API maps
/user/keys/querytoQueryKeys. - Federation API maps
/user/keys/claimtoPerformClaimKeys. - Sync API maps
/keys/changesto consuming from the Kafka topic.