Repository navigation
feat(stack-kms-vendor): keyset records, derived data keys and the static key backend (CIP-5306) - #1526
Conversation
|
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: truePre-merge checks:
|
Mutation testing (cargo-mutants,
|
bb8fc9d to
15163ba
Compare
11819bf to
6268036
Compare
15163ba to
22594ee
Compare
22594ee to
dbdc34e
Compare
376712b to
11ca7f3
Compare
|
Scope reduced (2026-11-12). This branch was rebuilt from one final tree by path, and the follow-up PRs #1555 to #1563 were folded in. The plan is In this PR: the derived data key mode only, with the root key TTL in |
…tic key backend (CIP-5306) The vendor seam (wrap, unwrap), keyset records, the derived data key mode with the root key TTL in the key source, the key router (ZeroKMS and at most one vendor, by keyset id), the static key backend, the transport seam, the shared credential cache, the contract suite and the fixture harness. The vendor and mode bytes are bound into every derived key.
fb05412 to
cd90970
Compare
11ca7f3 to
7d4722c
Compare
|
Replaced by #1625, in the new stack #1633. The code is the same, rebased onto the latest |
Layer 3 of the CIP-5203 stack. Implements CIP-5306 (ADR-0013).
stack-kms-vendor, with theKeyVendorBackendtrait (wrap,unwrap,sleep). Each vendor crate implements only this trait.KeysetRecordis a versioned record, written asstack-keyset:+ base64url, withcreateandrewrap.KeyRouterholds ZeroKMS and at most one vendor, and routes by keyset.retry(backoff on throttling), theVendorTransporttrait, and a shared contract suite.stack-encryptdoes not change. Decisions are indocs/plans/2026-11-05-key-vendor-backends-decisions.md(CIP-5306 section).