`janus_client`: Cache HPKE configs based on `cache-control` header
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 70
- Forks
- 16
- Avg merge
- 4h 36m
- Merged PRs (30d)
- 30
Description
Unless configs are provided to the builder, janus_client will fetch leader and helper HPKE configurations during construction and use them indefinitely, ignoring whatever cache-control HTTP header the aggregator may have provided. This is fine, since janus_client is generally used ephemerally and so whatever keys it sees will almost certainly remain valid for the lifetime in memory of the structure. But it'd be nice if we supported caching keys and automatically refetching them when they expire.
This is only particularly useful if keys are being stored somewhere besides memory, so we would want to introduce some kind of storage/cache abstraction for janus_client to use.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the janus_client builder and its construction-time fetching of leader and helper HPKE configurations. Design the storage/cache abstraction around the existing configuration flow, then verify that cache-control expiry causes configurations to be refetched; the issue names no files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend-api-design, cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100