parallaxsecond / parallaxsecond/rust-tss-esapi
Add marshaling/unmarshaling methods for types that support it
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 135
- Forks
- 80
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 5
Description
As mentioned here and here, it would be useful to have types on the interface of, for example, Public to marshal and unmarshal the underlying FFI type (e.g. TPM2B_PUBLIC). This would allow data to be moved between different machines that need to work with the same TPM-specific data structures.
These methods would defer to Tss2_MU_... functions exposed by the tss2-mu library (for which you can see the spec here), and so we can implement them for the types supported by this spec:
-
TPMA_...types -
TPM_...base types -
TPMS_...types -
TPM2B_...types -
TPMU_...types
I expect these new methods to simply be extensions of the existing types, so adding them won't break the API.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing interface types, such as Public, and the tss2-mu library functions corresponding to the TPM2B_PUBLIC example. Read the linked TSS Marshaling/Unmarshaling API specification and review support for TPMA_, TPM_, TPMS_, TPM2B_, and TPMU_ types. Done means supported types expose marshaling and unmarshaling methods without breaking the existing API.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100