Skip to content
This repository was archived by the owner on Jul 16, 2026. It is now read-only.

dcap-rs overhaul (Title may change) - #22

Closed
preston4896 wants to merge 14 commits into
mainfrom
dev
Closed

dcap-rs overhaul (Title may change)#22
preston4896 wants to merge 14 commits into
mainfrom
dev

Conversation

@preston4896

Copy link
Copy Markdown
Contributor

Introduction of dcap-rs crate upgrade. Changes including:

  • Modular design for better code readability and organization
  • Introducing pod types for TCBInfo and QE Identity structures to reduce heap usage. (useful for Solana program integration)
  • Support for Quote V5 Verification

udsamani and others added 9 commits April 16, 2025 16:03
* feat: make dcap-rs more modular

* feat: implement solana based dcap-rs sdk

* fix: add missing tdxtcbcomponents check

* feat: add borsh serialization and deserialization for TcbInfo

* feat: add borsh serialization and deserialization for EnclaveIdentity
…heir corresponding ZeroCopy types (#19)

* expose TcbInfoAndSignature fields, serialize version to u16

* fmspc and pceid deserialize as strings

* fixed fmspc and pceid pck comparison

* more bytes should be deserialized as string types

* dont use map for getters so we dont depend on copy trait

* change tcbv3components ordering

* removed borsh and use bytemuck instead

* removed compute digest

* first attempt at bytemuck serialization

* bytemuck tcb serialization passed testing

* renamed tcb_info pod module

* zero-copy independant of rust native tcb_info

* zero-copy feature

* i64 for timestamps

* incorrect tdx component lookup

* implemented zero copy tcb lookup

* features set update

* pod tcb_info utils should not depend on TcbStatus

* comments about space and alignment for pod types

* reorganize pod modules

* qe identity type update: parse hexstrings as strings

* enclave identity bytemuck serialization

* implemented getters to return hex string data as bytes array

* modified tcb status enum ordering

* change tee type byte order in verified output

* fixed converge_tcb_status_with_tdx_module
* added td15report parser and modified quote struct to accommodate v5

* td1.5 relaunch check

* added e2e v5 test

* modified attestation signed data for v5

* tcb lookup for td1.5

* collateral struct constructor

* enclave identity tcb eval number encoded as u32

* content hash

* added alloy-sol-type and implemented vec conversion to get output bytes

* x509 cert and crl hasher

* verified output from bytes todo

* separated test modules

* change alloy-sol-types version requirement

* replace tee_type with quote_body_type in VerifiedOutput

* content hash error handling

* separated out /tests into its own directory

* write quote body type to output in big endian

* im dumb af

* tdx relaunch check update

* missing tcb evaluation data number in tcbinfo content hash preimage

* quote header version check

* changed padding ordering
@Gnnng Gnnng closed this Jul 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants