Skip to content

Conversation

preston4896
Copy link
Collaborator

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants