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

standardizing tool output (convert to libyaml) #3313

Open
100 tasks
williamcroberts opened this issue Dec 8, 2023 · 0 comments
Open
100 tasks

standardizing tool output (convert to libyaml) #3313

williamcroberts opened this issue Dec 8, 2023 · 0 comments
Assignees
Milestone

Comments

@williamcroberts
Copy link
Member

williamcroberts commented Dec 8, 2023

Requirements

  • Ensure all TPM2_xxx command outputs are mapped to an option or argument
    • Extras, like the ESYS_TR  in tpm2_createprimary only if option specified. ie output should match the command
      outputs.
    • Context file handling stays the same.
  • Build out a proper “libymu”
    • copy JSON spec but modify for large integers as YAML supports them :-p
  • Carry it within tools, create a spec, then move it to tpm2-tss.
  • Options specifiers could be :
  • A of – would be stdout
  • No marshaler defaults to libmu except for stdout which defaults to YAML
    • Eg.) –n yaml:name.yaml, -n json:name.json, -n name, -n mu:-
  • Order MUST be preserved
  • This would get rid of format options IIUC -fpem
  • --quiet (so no stdout output). Still needs support.
  • Implicit that all outputs are mapped to yaml:- default, use –quiet and/or specify output targets.

Phase 1

@williamcroberts to do:

  • - create the libmuy lib mu for yaml.
  • - create internal apis for handling tools and ordering.
  • - do a few reference tools.

Phase 2

Everyone pitches in

@AndreasFuchsTPM

  • tpm2_activatecredential.c
  • tpm2_certify.c
  • tpm2_certifycreation.c
  • tpm2_changeauth.c
  • tpm2_changeeps.c
  • tpm2_changepps.c
  • tpm2_clear.c
  • tpm2_clearcontrol.c
  • tpm2_clockrateadjust.c
  • tpm2_commit.c
  • tpm2_createak.c
  • tpm2_create.c
  • tpm2_createek.c
  • tpm2_createpolicy.c
  • tpm2_createprimary.c
  • tpm2_dictionarylockout.c
  • tpm2_duplicate.c
  • tpm2_ecdhkeygen.c
  • tpm2_ecdhzgen.c
  • tpm2_ecephemeral.c
  • tpm2_encryptdecrypt.c
  • tpm2_evictcontrol.c
  • tpm2_flushcontext.c
  • tpm2_getcap.c
  • tpm2_getcommandauditdigest.c
  • tpm2_geteccparameters.c
  • tpm2_getekcertificate.c
  • tpm2_getpolicydigest.c
  • tpm2_getrandom.c
  • tpm2_getsessionauditdigest.c
  • tpm2_gettestresult.c
  • tpm2_gettime.c

@williamcroberts

  • tpm2_hash.c
  • tpm2_hierarchycontrol.c
  • tpm2_hmac.c
  • tpm2_import.c
  • tpm2_incrementalselftest.c
  • tpm2_load.c
  • tpm2_loadexternal.c
  • tpm2_makecredential.c
  • tpm2_nvcertify.c
  • tpm2_nvdefine.c
  • tpm2_nvextend.c
  • tpm2_nvincrement.c
  • tpm2_nvread.c
  • tpm2_nvreadlock.c
  • tpm2_nvreadpublic.c
  • tpm2_nvsetbits.c
  • tpm2_nvundefine.c
  • tpm2_nvwrite.c
  • tpm2_nvwritelock.c
  • tpm2_pcrallocate.c
  • tpm2_pcrevent.c
  • tpm2_pcrextend.c
  • tpm2_pcrread.c
  • tpm2_pcrreset.c
  • tpm2_policyauthorize.c
  • tpm2_policyauthorizenv.c
  • tpm2_policyauthvalue.c
  • tpm2_policycommandcode.c
  • tpm2_policycountertimer.c
  • tpm2_policycphash.c
  • tpm2_policyduplicationselect.c
  • the often forgtotten "misc" directory

@JuergenReppSIT

  • tpm2_policylocality.c
  • tpm2_policynamehash.c
  • tpm2_policynv.c
  • tpm2_policynvwritten.c
  • tpm2_policyor.c
  • tpm2_policypassword.c
  • tpm2_policypcr.c
  • tpm2_policyrestart.c
  • tpm2_policysecret.c
  • tpm2_policysigned.c
  • tpm2_policytemplate.c
  • tpm2_policyticket.c
  • tpm2_quote.c
  • tpm2_readclock.c
  • tpm2_readpublic.c
  • tpm2_rsadecrypt.c
  • tpm2_rsaencrypt.c
  • tpm2_selftest.c
  • tpm2_send.c
  • tpm2_sessionconfig.c
  • tpm2_setclock.c
  • tpm2_setcommandauditstatus.c
  • tpm2_setprimarypolicy.c
  • tpm2_shutdown.c
  • tpm2_sign.c
  • tpm2_startauthsession.c
  • tpm2_startup.c
  • tpm2_stirrandom.c
  • tpm2_testparms.c
  • tpm2_tool.c
  • tpm2_unseal.c
  • tpm2_verifysignature.c
  • tpm2_zgen2phase.c
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

No branches or pull requests

4 participants