Add remaining TPM commands to TPMDirect API
- Dominant language
- Go
- Stars
- 673
- Forks
- 188
- PR merge metrics
- No merged PRs in 30d
Description
Here are all the commands in [1.59](https://trustedcomputinggroup.org/wp-content/uploads/TCG_TPM2_r1p59_Part2_Structures_pub.pdf#page=48). We can use this tracking bug to track implementation of the rest of them in the [tpmdirect](https://github.com/google/go-tpm/tree/tpmdirect) branch.
- [ ] AC_GetCapability
- [ ] AC_Send
- [ ] ACT_SetTimeout
- [x] ActivateCredential
- [x] Certify
- [x] CertifyCreation
- [ ] CertifyX509
- [ ] ChangeEPS
- [ ] ChangePPS
- [x] Clear
- [ ] ClearControl
- [ ] ClockRateAdjust
- [ ] ClockSet
- [x] Commit
- [ ] ContextLoad
- [ ] ContextSave
- [x] Create
- [x] CreateLoaded
- [x] CreatePrimary
- [ ] DictionaryAttackLockReset
- [ ] DictionaryAttackParameters
- [ ] Duplicate
- [ ] EC_Ephemeral
- [ ] ECC_Parameters
- [ ] ECDH_KeyGen
- [x] ECDH_ZGen
- [ ] EncryptDecrypt
- [ ] EncryptDecrypt2
- [ ] EventSequenceComplete
- [ ] EvictControl
- [ ] FieldUpgradeData
- [ ] FieldUpgradeStart
- [ ] FirmwareRead
- [x] FlushContext
- [x] GetCapability
- [ ] GetCommandAuditDigest
- [x] GetRandom
- [x] GetSessionAuditDigest
- [ ] GetTestResult
- [ ] GetTime
- [ ] Hash
- [ ] HashSequenceStart
- [ ] HierarchyChangeAuth
- [ ] HierarchyControl
- [ ] HMAC
- [ ] HMAC_Start
- [ ] Import
- [ ] IncrementalSelfTest
- [x] Load
- [x] LoadExternal
- [ ] MAC
- [ ] MAC_Start
- [ ] MakeCredential
- [x] NV_Certify
- [ ] NV_ChangeAuth
- [x] NV_DefineSpace
- [ ] NV_Extend
- [ ] NV_GlobalWriteLock
- [x] NV_Increment
- [x] NV_Read
- [ ] NV_ReadLock
- [x] NV_ReadPublic
- [ ] NV_SetBits
- [x] NV_UndefineSpace
- [x] NV_UndefineSpaceSpecial
- [x] NV_Write
- [x] NV_WriteLock
- [ ] ObjectChangeAuth
- [ ] PCR_Allocate
- [x] PCR_Event
- [x] PCR_Extend
- [x] PCR_Read
- [x] PCR_Reset
- [ ] PCR_SetAuthPolicy
- [ ] PCR_SetAuthValue
- [ ] Policy_AC_SendSelect
- [x] PolicyAuthorize
- [x] PolicyAuthorizeNV
- [ ] PolicyAuthValue
- [x] PolicyCommandCode
- [ ] PolicyCounterTimer
- [x] PolicyCpHash
- [ ] PolicyDuplicationSelect
- [x] PolicyGetDigest
- [ ] PolicyLocality
- [ ] PolicyNameHash
- [x] PolicyNV
- [x] PolicyNvWritten
- [x] PolicyOR
- [ ] PolicyPassword
- [x] PolicyPCR
- [ ] PolicyPhysicalPresence
- [ ] PolicyRestart
- [x] PolicySecret
- [x] PolicySigned
- [ ] PolicyTemplate
- [ ] PolicyTicket
- [ ] PP_Commands
- [x] Quote
- [ ] ReadClock
- [x] ReadPublic
- [ ] Rewrap
- [ ] RSA_Decrypt
- [ ] RSA_Encrypt
- [ ] SelfTest
- [ ] SequenceComplete
- [ ] SequenceUpdate
- [ ] SetAlgorithmSet
- [ ] SetCommandCodeAuditStatus
- [ ] SetPrimaryPolicy
- [x] Shutdown
- [x] Sign
- [x] StartAuthSession
- [x] Startup
- [ ] StirRandom
- [ ] TestParms
- [x] Unseal
- [x] VerifySignature
- [ ] ZGen_2Phase
Contributor guide
Research direction
Use the TCG TPM 2.0 Part 2 revision 1.59 command list to choose a specific unchecked command, then inspect the tpmdirect branch for the existing API patterns. Done means implementing the selected command and updating this tracking checklist; the issue does not identify files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100