feat(tdx): replace FFI DCAP verifier with pure-Rust dcap-qvl backend#167
Merged
Conversation
Collaborator
|
@imlk0 ,您好,您的请求已接收,请耐心等待结果。 |
Collaborator
|
@imlk0 ,您好,未检测到有镜像需要构建,如需重新检测请评论 /start 。 |
Version/release bumps across the repo (Cargo.toml, Cargo.lock, buildspec.yml, pyproject.toml, and the RPM spec Version + changelog) are produced at a specific release stage by make bump-version-{major,minor,patch}, which regenerates the spec changelog from commit subjects since the last tag. Hand-editing the spec Version/Release or adding a version-stamped changelog entry carries a wrong release number and duplicates the auto-collected commits. Edit the spec only for packaging logic (BuildRequires/Requires, build flags); leave versioning to make bump-version-*.
Split the single `builtin-as-tdx` feature into two mutually-exclusive backends: - `builtin-as-tdx-ffi` -> attestation-service/tdx-verifier (legacy FFI backend, links Intel libtdx-attest / libsgx-dcap-quote-verify) - `builtin-as-tdx-rust` -> attestation-service/tdx-dcap-rust (pure Rust dcap-qvl, statically linkable, fetches TDX collateral from a PCCS over HTTPS, no Intel C library dependency) Switch all x86_64-Linux build artifacts (Dockerfiles, Makefile, RPM spec, go-sdk and build-python-sdk workflows) to `builtin-as-tdx-rust` and drop the Intel SGX/TDX repo setup plus libtdx-attest / libsgx-dcap-* packages from both build and runtime stages. Bump the trustee pin (fec2cf58 -> b3009fcd), which introduces the tdx-dcap-rust feature.
imlk0
force-pushed
the
builtin-tdx-verifier
branch
from
July 13, 2026 11:46
9f207d2 to
862c827
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.
Summary
Replace the FFI-based DCAP quote verifier (which links Intel's
libtdx-attest/libsgx-dcap-quote-verifyC libraries) with a pure-Rustdcap-qvlbackend, removing the dependency on the Intel DCAP C libraries.Core changes
tng/Cargo.toml,rats-cert/Cargo.toml): the old singlebuiltin-as-tdxfeature is split into two mutually-exclusive backends:builtin-as-tdx-ffi->attestation-service/tdx-verifier: legacy FFIbackend, still links the Intel C libraries.
builtin-as-tdx-rust->attestation-service/tdx-dcap-rust: pure Rustdcap-qvl, statically linkable, fetches TDX collateral from a PCCS overHTTPS, no Intel C library dependency.
fec2cf58->b3009fcd(the commit that introduces thetdx-dcap-rustfeature).libtdx-attest[-dev]/libsgx-dcap-quote-verify[-dev]/libsgx-dcap-default-qplpackages (build and runtime stages in bothDockerfileandDockerfile.ubuntu2404); builds now pass--features 'builtin-as-tdx-rust'.--features 'builtin-as-tdx-rust':Makefilebin-build/python-wheel, RPM spec%build, the go-sdkworkflow, and the build-python-sdk Linux step.
builtin-as-tdx-ffifeature name.Artifact × platform × builtin-AS status
Dockerfile)builtin-as-tdx-rustDockerfile.ubuntu2404)builtin-as-tdx-rustMakefilebin-buildbuiltin-as-tdx-rustcargo build --release --features 'builtin-as-tdx-rust'Makefilepython-wheelbuiltin-as-tdx-rusttrusted-network-gateway.spec%build)builtin-as-tdx-rustcargo install ... --features 'builtin-as-tdx-rust'.github/workflows/go-sdk.ymlbuiltin-as-tdx-rust.github/workflows/build-python-sdk.ymlx86_64-unknown-linux-gnu)builtin-as-tdx-rust.github/workflows/build-python-sdk.ymlaarch64-unknown-linux-gnu)builtin-as-tdx-rust(config).github/workflows/build-python-sdk.ymlx86_64-apple-darwin)cargo build -p tng --release(no features).github/workflows/build-python-sdk.ymlaarch64-apple-darwin).github/workflows/build-python-sdk.ymlx86_64-pc-windows-gnu)cargo zigbuild ...(no features)tng-wasm(WASM SDK / www demo)default-features=false, only__ingress-commontng-hook-cdylib(Dockerfile / Makefiletng-hook-build/ zigbuild workflow)tng-testsuitetest build (--features on-bin/on-podman)cargo build -p tng(tng cratedefaultfeatures)defaultcontains nobuiltin-as-*Conclusions
builtin-as-tdx-rustbackend and no longer link the Intel DCAP C libraries.
builtin-as-tdx-ffi) — it is keptonly as an opt-in alternative.
which is expected: TDX verification is an x86_64-Linux concern.
builtin-as-tdx-rust; since TDX is x86_64-only, whether it actually compileson aarch64 needs a real build to confirm.