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

Windows hacking #2

Draft
wants to merge 27 commits into
base: master
Choose a base branch
from
Draft

Windows hacking #2

wants to merge 27 commits into from

Commits on Apr 29, 2022

  1. Add TPM 2 application key support for Windows

    There's currently no support for creating application keys on Windows systems. This patch transitions the Windows key type to specifically refer to attestation keys, and reuses the existing wrapped key support for application keys. This allows the creation of keys in the platform store, while still allowing said keys to be manipulated with existing TPM functionality rather than duplicating it.
    mjg59 committed Apr 29, 2022
    Configuration menu
    Copy the full SHA
    3e6fc9e View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2022

  1. Configuration menu
    Copy the full SHA
    ade05c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    164122a View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Configuration menu
    Copy the full SHA
    ab74553 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    31a9234 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f548032 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2022

  1. Configuration menu
    Copy the full SHA
    81aa7c3 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2022

  1. Add signing support for keys generated on Windows

    When generating a new key using a Windows TPM, a `wrappedKey20` was
    returned, which couldn't be used for signing on Windows, as it's
    backed by a `windowsTPM`. The `wrappedKey20` seems to be a type
    specifically aimed at usage with a `wrappedTPM20`, which in turn
    seems to be used on Linux and for testing, but not when instantiating
    a TPM on Windows.
    
    This commit adds the `newWindowsKey20` function, which returns
    a key backed by a `windowsTPM`. The key is a `windowsAK20`,
    now also conforming to the `key` interface, so that it can be used
    for signing purposes.
    hslatman committed Nov 10, 2022
    Configuration menu
    Copy the full SHA
    1a8e4e7 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Configuration menu
    Copy the full SHA
    5bc739d View commit details
    Browse the repository at this point in the history
  2. Add loadKey on Windows

    hslatman committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    eb68d97 View commit details
    Browse the repository at this point in the history
  3. Remove superfluous return

    hslatman committed Nov 14, 2022
    Configuration menu
    Copy the full SHA
    3543ffd View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2022

  1. Configuration menu
    Copy the full SHA
    3737d78 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4dd9dc6 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2023

  1. Configuration menu
    Copy the full SHA
    b832351 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7ad3b26 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7d9b67d View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2023

  1. Add support for deleting keys

    On Windows, when the key is managed by the OS, keys are stored on
    the filesystem. When trying to create a key with the same name, this will
    fail with the following error:
    
    `NCryptCreatePersistedKey returned 8009000F: The operation completed successfully.`
    
    This commit adds support for deleting these keys, so that a new
    key can be created with the same name.
    
    Have only tested this on Windows so far. My assumption is that for
    keys created with `go-attestation` on Linux, the keys aren't persisted
    "inside the TPM", so there's nothing to do when deleting them, except
    for any keys managed externally.
    hslatman committed Jan 5, 2023
    Configuration menu
    Copy the full SHA
    d197d79 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2023

  1. Fix tests for TPM 1.2

    hslatman committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    37fd3fa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a3f530a View commit details
    Browse the repository at this point in the history
  3. Fix tests for TPM 1.2

    hslatman committed Jan 13, 2023
    Configuration menu
    Copy the full SHA
    0ad94dd View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

  1. Add DeleteAK method

    hslatman committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    0ea71a1 View commit details
    Browse the repository at this point in the history
  2. Add Blobs method for AK

    hslatman committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    eb81e6e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1bcb20a View commit details
    Browse the repository at this point in the history

Commits on May 8, 2023

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

Commits on May 9, 2023

  1. Configuration menu
    Copy the full SHA
    ef181aa View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Configuration menu
    Copy the full SHA
    8df7c54 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce1f4b5 View commit details
    Browse the repository at this point in the history