Skip to content

Releases: google/go-tpm

v0.9.1

07 Jun 16:38
58e3e47
Compare
Choose a tag to compare

This release adds a few new commands to the "direct" (non-legacy) interface, including:

  • EvictControl
  • HMAC_Start
  • ObjectChangeAuth
  • Duplicate
  • TestParms
  • HierarchyChangeAuth

Many thanks to our contributors!

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.9.1

Introducing the new TPM-Direct API

21 Jun 08:03
5a514e6
Compare
Choose a tag to compare

This is a major change to the go-tpm library. It introduces the API that was proposed in 2022 as "TPMDirect", which maps TPM commands to Go structs instead of funcs, allowing greater composability. Stay tuned for more information about this change and how to get started.

If you want to update to this release of go-tpm, you don't have to rewrite all your code! You can start using the new API at your leisure. Simply use the old API at its new path by changing from github.com/google/go-tpm/tpm2 to github.com/google/go-tpm/legacy/tpm2 in your code's import statements:

import github.com/google/go-tpm/tpm2

to

import github.com/google/go-tpm/legacy/tpm2

What's Changed

New Contributors

Full Changelog: v0.3.3...v0.9.0

v0.3.3

08 Feb 00:42
77d0de8
Compare
Choose a tag to compare

Bug Fixes

  • Fix golint and govet warnings by @brandonweeks in #229
  • tpm2: fix encoding of name returned by Load() by @ericchiang in #231
  • Various fixes for Remote Attestation implementations by @zaolin in #235
  • Remove Invalid Pack test for ioutil.Discard by @josephlr in #241
  • quote: Remove internal usage of ownerPassword with Quote by @josephlr in #250
  • tpmutil: Fix integer casting on 32-bit platforms by @josephlr in #253

New Features

  • TPM2: Add String function for tpm2.Algorithm by @ChriMarMe in #232
  • Add TPM2_PolicySigned and Signature encoding by @alexmwu in #237
    [Breaking Change] A new return parameter timeout is added in tpm2.PolicySecret()
  • Add PCRReset command for tpm2 by @jkl73 in #268

Documentation & Other

  • Document that [type]parameters and [type]unique are merged by @chrisfenner in #239
  • ci: Add golangci-lint linter by @josephlr in #254
  • Update CODEOWNERS by @alexmwu in #251
  • Remove go-cmp dependancy by @josephlr in #255
  • Update golang.org/x/sys by @josephlr in #257
  • tpm2: Allow for tpm2.OpenTPM() to use default paths on Linux by @josephlr in #256
    [Breaking Change] tpm2.OpenTPM() function signature has changed

New Contributors

Full Changelog: v0.3.2...v0.3.3

Hashing Improvements and Bug Fixes

12 Dec 02:51
Compare
Choose a tag to compare
  • Improve use of the TPM2 for Hashing operations
    • Add support for Hash Sequences (#219)
    • Add HashToAlgorithm which converts from a crypto.Hash to a TPM2 hash Algorithm (#226)
  • Check TPMLPCRSelection for out-of-range PCR indices (#204)
  • Update deps (#225)

Interstitial 0.3.1

14 Oct 18:18
6aef8a0
Compare
Choose a tag to compare
TPM2: Added CertifyEx and encodeCertifyEx (#211)

* TPM2: Added CertifyEx and encodeCertifyEx which differ from Certify and encodeCertify in that they take the scheme to be used as an additional argument.

Signed-off-by: El Mostafa IDRASSI <[email protected]>

* Fixed typo

* Rename parentAuth and ownerAuth to objectAuth and signerAuth respectively.

Signed-off-by: El Mostafa IDRASSI <[email protected]>

* Update Certify documentation to explain it makes use of the hardcoded signing scheme {AlgRSASSA, AlgSHA256}.

* Pack AlgNull with no following hash alg in case of AlgNull scheme, and add TODO comment.

* Comment formatting and other requested changes.

Signed-off-by: El Mostafa IDRASSI <[email protected]>

* Replace all occurrences of tpmtSigScheme with SigScheme.
Add CertifyEx tests for both RSASSA/SHA256 and ALG_NULL cases.

* Better implementation of TestCertifyEx with all cases.

Signed-off-by: El Mostafa IDRASSI <[email protected]>

* Requested changes implemented.

Fix CVE-2020-8918

23 Jul 19:06
d7806cc
Compare
Choose a tag to compare
Fix TPM 1.2 migration (#195)

* Fix issue with TPM 1.2 migration auth (#1)

Fix some TPM 1.2-specific issues related to key migration and testing:

- A bug in CreateWrapKey that uses an incorrect key to encrypt a key's `migrationAuth` value
- Addition of `AuthorizeMigrationKey` and `CreateMigrationBlob` command functions to enable testing of migration auth bug fix
- A bug fix in TakeOwnership that prevented successful authorization of the command
- A session leak in a couple of TPM 1.2 tests (`TestOIAP` and `TestOSAP`)
- Improvements to the TPM 1.2 tests to allow execution on a TPM that needs to be started up
- Initial effort at documentation for running the TPM 1.2 tests against the IBM simulator

* Delete extraneous file