Repository navigation
Conversation
kvinwang
force-pushed
the
kms-key-epochs
branch
2 times, most recently
from
November 6, 2026 12:46
2e22df8 to
2697194
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
2 times, most recently
from
November 6, 2026 13:28
d445376 to
56c8a50
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
2 times, most recently
from
November 6, 2026 14:55
5401469 to
c390f2f
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
from
November 6, 2026 14:59
c390f2f to
01cf7d4
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
2 times, most recently
from
November 6, 2026 15:09
637783d to
f1822ee
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
from
November 6, 2026 15:13
f1822ee to
0992dd4
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
from
November 7, 2026 03:03
16a761a to
d7cc2e6
Compare
kvinwang
force-pushed
the
kms-key-epochs
branch
from
November 7, 2026 15:25
346813b to
98a87c7
Compare
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
…tion Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
Signed-off-by: Kevin Wang <wy721@qq.com>
kvinwang
force-pushed
the
kms-key-epochs
branch
from
November 8, 2026 15:10
e1e97bf to
46c5ec2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
KMS root keys are retained by epoch and selected from explicit authorization results.
authorizeKms/authorizeAppnow carry a required operation, represented by a shared serde-derived Rust enum and hashedbytes32on chain. Known operations share the existing policy; unknown or wrong-scope operations fail closed. Self-authorization caching is operation-specific.Preserve
GetTempCaCert, its response, temporary CA persistence/renewal and the legacy handover field so KMS nodes can be upgraded before old OS images. Tokenless onboarding retains CA-issued client certificates for legacy sources. The recipient authorizes the source throughauthorizeKms(export_kms_keys)on the key-carrying connection; bootstrap uses its own operation before epoch-zero registration. Existing bootAuth routes remain for old KMS binaries.Application certificate authorization uses Rust
GetAppCertand JSON/on-chain operation nameget_app_cert; the existingSignCertKMS RPC is unchanged.Prior layer validation: 73 KMS, 8 Rust auth, 36 DstackKms contract tests and 116 adapter tests passed; strict production Rust Clippy passed. Local Linux x86_64, Rust 1.92.0, Solc 0.8.24 / Forge 1.8.4, synthetic certificates/policies and loopback HTTP. Full-stack validation and dependency limitations are recorded in #1533; no live TEE onboarding was exercised.