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

Introduce Direct TPM2 API #266

Merged
merged 9 commits into from
Feb 19, 2022
Merged

Introduce Direct TPM2 API #266

merged 9 commits into from
Feb 19, 2022

Commits on Dec 15, 2021

  1. Introduce Direct TPM2 API

    This commit introduces a new method of interacting with a TPM 2.0.
    Instead of plumbing each TPM API into one or more Go functions, this
    code defines structures for every TPM 2.0 command request and response.
    These map 1:1 with the actual command parameters comprehended by the
    TPM, so any invocation of any command is possible (once all the command
    structures are written).
    
    This commit introduces enough of the TPM 2.0 API surface to put together
    some interesting end-to-end tests, mostly around sealing.
    
    Another objective of the Direct API is to facilitate use of the TPM's
    session-based command transport features (e.g., audit and encryption
    sessions). See the test code for examples of how to easily use these
    APIs to, e.g., set up an EK-salted session for session-encrypted unseal.
    
    Change-Id: I1549dd596869d79ddd41ff3c5f9ffdadc9628ed4
    chrisfenner committed Dec 15, 2021
    Configuration menu
    Copy the full SHA
    7c2f71c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5710366 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a0ecb01 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1693223 View commit details
    Browse the repository at this point in the history
  5. fix more go vet issues

    chrisfenner committed Dec 15, 2021
    Configuration menu
    Copy the full SHA
    2aa4c49 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c7f46f0 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2022

  1. Use subpackages and put the Execute function on the command types (#1)

    * WIP: put stuff into subpackages to make the names nice
    
    * use internal monolithic package to avoid cycles
    
    * complete the tpm2 package
    
    * fix test references to renamed types
    
    * switch to command.Execute pattern
    
    * fix some unkeyed field values detected by go vet
    
    * stop panicking from Hash
    chrisfenner authored Jan 29, 2022
    Configuration menu
    Copy the full SHA
    90f003e View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2022

  1. Configuration menu
    Copy the full SHA
    61d3178 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d277081 View commit details
    Browse the repository at this point in the history