Repository navigation
Add explicit-node V3 attestation and expiring direct TLS - #1
Merged
Merged
Conversation
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.
The legacy Rust verifier cannot qualify the nonce-bound V3 path used by current Tinfoil Containers on AMD Turin. This adds an explicit-node mode based on CLI v0.19.7 and its pinned Go dependency, retaining existing legacy constructors.
The new constructors require a fixed hostname and approved release/tag/digest/measurement allowlist. Verification authenticates V3 byte/nonce bindings, code and platform provenance, freshness witnesses, product-specific AMD evidence and CRLs before creating an origin-bound TLS transport. Shared expiry/revocation gates cover typed and raw dispatch, builders, clones and pooled connections; failed re-verification cannot leave escaped direct transports usable. No automatic legacy/discovery fallback is added.
Scope: AMD Genoa/Turin, V3 envelope with code/platform collateral v2, direct attested TLS. TDX and newer config/runtime collateral fail explicitly. GPU evidence is CPU-bound rather than independently NVIDIA-appraised client-side. This is a scoped port, not complete Go SDK/PKIX conformance; the manual Rust X.509 path and V3 beta status are documented.
Validation:
Includes an explicit-argument qualification example and protocol/scope documentation. Based on upstream v0.2.1; no dependent application changes are included.