Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add remaining TPM commands to TPMDirect API #278

Open
chrisfenner opened this issue May 25, 2022 · 4 comments
Open

Add remaining TPM commands to TPMDirect API #278

chrisfenner opened this issue May 25, 2022 · 4 comments
Labels
tpmdirect Issues specific to the tpmdirect development work

Comments

@chrisfenner
Copy link
Member

chrisfenner commented May 25, 2022

Here are all the commands in 1.59. We can use this tracking bug to track implementation of the rest of them in the tpmdirect branch.

  • AC_GetCapability
  • AC_Send
  • ACT_SetTimeout
  • ActivateCredential
  • Certify
  • CertifyCreation
  • CertifyX509
  • ChangeEPS
  • ChangePPS
  • Clear
  • ClearControl
  • ClockRateAdjust
  • ClockSet
  • Commit
  • ContextLoad
  • ContextSave
  • Create
  • CreateLoaded
  • CreatePrimary
  • DictionaryAttackLockReset
  • DictionaryAttackParameters
  • Duplicate
  • EC_Ephemeral
  • ECC_Parameters
  • ECDH_KeyGen
  • ECDH_ZGen
  • EncryptDecrypt
  • EncryptDecrypt2
  • EventSequenceComplete
  • EvictControl
  • FieldUpgradeData
  • FieldUpgradeStart
  • FirmwareRead
  • FlushContext
  • GetCapability
  • GetCommandAuditDigest
  • GetRandom
  • GetSessionAuditDigest
  • GetTestResult
  • GetTime
  • Hash
  • HashSequenceStart
  • HierarchyChangeAuth
  • HierarchyControl
  • HMAC
  • HMAC_Start
  • Import
  • IncrementalSelfTest
  • Load
  • LoadExternal
  • MAC
  • MAC_Start
  • MakeCredential
  • NV_Certify
  • NV_ChangeAuth
  • NV_DefineSpace
  • NV_Extend
  • NV_GlobalWriteLock
  • NV_Increment
  • NV_Read
  • NV_ReadLock
  • NV_ReadPublic
  • NV_SetBits
  • NV_UndefineSpace
  • NV_UndefineSpaceSpecial
  • NV_Write
  • NV_WriteLock
  • ObjectChangeAuth
  • PCR_Allocate
  • PCR_Event
  • PCR_Extend
  • PCR_Read
  • PCR_Reset
  • PCR_SetAuthPolicy
  • PCR_SetAuthValue
  • Policy_AC_SendSelect
  • PolicyAuthorize
  • PolicyAuthorizeNV
  • PolicyAuthValue
  • PolicyCommandCode
  • PolicyCounterTimer
  • PolicyCpHash
  • PolicyDuplicationSelect
  • PolicyGetDigest
  • PolicyLocality
  • PolicyNameHash
  • PolicyNV
  • PolicyNvWritten
  • PolicyOR
  • PolicyPassword
  • PolicyPCR
  • PolicyPhysicalPresence
  • PolicyRestart
  • PolicySecret
  • PolicySigned
  • PolicyTemplate
  • PolicyTicket
  • PP_Commands
  • Quote
  • ReadClock
  • ReadPublic
  • Rewrap
  • RSA_Decrypt
  • RSA_Encrypt
  • SelfTest
  • SequenceComplete
  • SequenceUpdate
  • SetAlgorithmSet
  • SetCommandCodeAuditStatus
  • SetPrimaryPolicy
  • Shutdown
  • Sign
  • StartAuthSession
  • Startup
  • StirRandom
  • TestParms
  • Unseal
  • VerifySignature
  • ZGen_2Phase
@chrisfenner chrisfenner added the tpmdirect Issues specific to the tpmdirect development work label May 25, 2022
@shuk777
Copy link

shuk777 commented Jun 7, 2022

Hi, Chris. I'm trying to implement a ECC-DAA protocol using your repo, it seems that TPM2_Commit() is a necessary. Do you have plans for "commit" function recently?

@chrisfenner
Copy link
Member Author

Hi, @shuk777! I doubt we will get to it too soon, but if you send a PR to the tpmdirect branch I'd be happy to take a look!

Chris

@chrisfenner
Copy link
Member Author

chrisfenner commented Jun 27, 2022

@matt-tsai, here are the commands we'll need for the upcoming Google work on implicit attestation (https://github.com/google/pint):

  • ActivateCredential
  • Certify
  • CertifyCreation
  • Clear
  • Create
  • CreateLoaded
  • CreatePrimary
  • ECDH_ZGen
  • FlushContext
  • GetCapability
  • GetSessionAuditDigest
  • Load
  • NV_Certify
  • NV_DefineSpace
  • NV_Increment
  • NV_Read
  • NV_ReadPublic
  • NV_UndefineSpace
  • PCR_Event
  • PCR_Extend
  • PCR_Read
  • PCR_Reset
  • PolicyCommandCode
  • PolicyGetDigest
  • PolicyNV
  • PolicyOR
  • PolicyPCR
  • PolicySecret
  • Quote
  • ReadPublic
  • Sign
  • StartAuthSession
  • Startup
  • Unseal

chrisfenner added a commit that referenced this issue Sep 3, 2022
This change adds the following commands along with tests:

* ActivateCredential
* Clear
* ECDH_ZGen
* NV_Certify
* NV_Increment
* PolicyNV

Makes progress on #278
@chrisfenner
Copy link
Member Author

Over 1/3 done now. Congrats again to @matt-tsai on completing so much work on this this summer! We are well on the way to releasing TPMDirect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tpmdirect Issues specific to the tpmdirect development work
Projects
None yet
Development

No branches or pull requests

2 participants