Releases: google/go-tpm
v0.9.8
What's Changed
- Support HMAC Session in ReadPublic by @loicsikidi in #418
- fix weird typo in name for TPM_RC_HIERARCHY by @chrisfenner in #421
Full Changelog: v0.9.7...v0.9.8
v0.9.7
What's Changed
- feat: add marshal/unmarshall to command/response by @loicsikidi in #415
Full Changelog: v0.9.6...v0.9.7
v0.9.6
What's Changed
- Support for TPM2_NV_NVReadLock for tpmdirect (tpm2) by @mynetz in #406
- Fix PolicySecret implementation of the PolicyCommand interface by @hennk in #408
- Add TPM2_GetTime Implementation by @qwwqwwq in #409
New Contributors
- @mynetz made their first contribution in #406
- @hennk made their first contribution in #408
- @qwwqwwq made their first contribution in #409
Full Changelog: v0.9.5...v0.9.6
v0.9.5
What's Changed
- Add generalized support for Restricted Decryption operations (ActivateCredential, Import, StartAuthSession) by @chrisfenner in #395
Full Changelog: v0.9.4...v0.9.5
v0.9.4
What's Changed
- Tolerate differences in RSA private key libraries by @chrisfenner in #383
- Add TPM2_HMAC implementation by @ludi317 in #385
- Improve TPMUSymKeyBits and TPMUSymMode by @AlexandreEXFO in #384
- Implement TCP TPM protocol by @chrisfenner in #387
- tpm2: Fix typo in MakeCredential cmd by @loicsikidi in #391
- TPM2_PCR_Allocate support by @zhsh in #394
- Check for padding bytes in EK cert by @dwaynebradley in #397
- add support for ECMQV by @chrisfenner in #399
New Contributors
- @ludi317 made their first contribution in #385
- @loicsikidi made their first contribution in #391
- @zhsh made their first contribution in #394
- @dwaynebradley made their first contribution in #397
Full Changelog: v0.9.3...v0.9.4
v0.9.3
What's Changed
- Fix README.md missmatch module and directory name by @JulesdeCube in #374
- Improve TPMUSensitiveComposite and crypto by @AlexandreEXFO in #372
- Unify ECC public key helpers on ECDHPub and ECDSAPub by @chrisfenner in #380
- Improve crypto & constants by @AlexandreEXFO in #381
- Test Pub() and Priv() by exporting the key and signing/verifying from software by @chrisfenner in #382
New Contributors
- @JulesdeCube made their first contribution in #374
- @AlexandreEXFO made their first contribution in #372
Full Changelog: v0.9.2...v0.9.3
v0.9.2
What's Changed
- add PolicyAuthValue by @salrashid123 in #359
- add EncryptDecrypt2 support by @salrashid123 in #360
- add TPM2_PolicyDuplicationSelect by @salrashid123 in #365
- Add TPMFW (firmware) handles and FirmwareLimited attribute to TPMAObject by @destinideinde in #366
- Trivial fixes for lint and nullability by @chrisfenner in #368
- Create individual packages for Windows and Linux TPM transport by @chrisfenner in #369
- Fix KnownName() and Empty Buffer sequence handle Names by @nckrss in #371
New Contributors
- @salrashid123 made their first contribution in #359
- @destinideinde made their first contribution in #366
Full Changelog: v0.9.1...v0.9.2
v0.9.1
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
- Remove temporary
.swpfile by @hslatman in #333 - chore: remove refs to deprecated io/ioutil by @testwill in #334
- feat: tpm2.EvictControl by @jclab-joseph in #338
- tpm2: Implement TPM2_Import by @Foxboron in #341
- Allow callers to omit handles from commands when RH_NULL by @chrisfenner in #344
- Introduce helper for formatting PCR selection bitmasks by @chrisfenner in #345
- Fix the mistake of signature algorithm number by @akakou in #349
- Add TPM2_HMAC_Start implementation by @nckrss in #351
- Bump go to 1.22 and golangci-lint to 1.56.2 by @nckrss in #353
- Implement TPM2_ObjectChangeAuth by @Foxboron in #354
- Implement TPM2_Duplicate by @rthellend in #355
- feat: TPM2_RSA_Encrypt and TPM2_RSA_Decrypt by @dflamand in #356
- tpm2: Implement TPM2_TestParms by @Foxboron in #352
- tpm2: Add RSADecryptWithSession by @thomasten in #314
- feat: add HierarchyChangeAuth command by @novag in #357
New Contributors
- @hslatman made their first contribution in #333
- @testwill made their first contribution in #334
- @Foxboron made their first contribution in #341
- @nckrss made their first contribution in #351
- @rthellend made their first contribution in #355
- @dflamand made their first contribution in #356
- @thomasten made their first contribution in #314
- @novag made their first contribution in #357
Full Changelog: v0.9.0...v0.9.1
Introducing the new TPM-Direct API
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/tpm2to
import github.com/google/go-tpm/legacy/tpm2What's Changed
- Update tpmdirect with latest changes from master by @chrisfenner in #269
- Introduce Direct TPM2 API by @chrisfenner in #266
- Update README.md by @chrisfenner in #270
- Add a lot of policy and NV commands to TPMDirect by @chrisfenner in #272
- Implemented and Tested ReadPublic by @matt-tsai in #279
- Implemented and Tested GetRandom by @matt-tsai in #277
- Implemented and Tested Sign by @matt-tsai in #282
- Implemented and Tested Hash, HashSequenceStart, SequenceUpdate, and SequenceComplete by @matt-tsai in #284
- Supporting functionalities for direct migration by @matt-tsai in #283
- Define the structure related to ECDAA by @akakou in #288
- Implemented and Tested PolicyPCR by @matt-tsai in #289
- Implemented and Tested ContextSave, ContextLoad by @matt-tsai in #280
- Implemented and Tested Certify by @matt-tsai in #293
- Implemented and Tested CertifyCreation by @matt-tsai in #297
- Implemented and Tested pcrReset. by @matt-tsai in #295
- Adding comments to TestReadPublicKey by @matt-tsai in #299
- Implement TPM2_Commit by @akakou in #296
- rename tpmdirect to tpm2 and rename existing tpm2 as legacy/tpm2 by @chrisfenner in #304
- add several commands needed by Google PINT by @chrisfenner in #305
- Add type of ECDAA signature by @chrisfenner in #306
- flatten the new API to just tpm2 by @chrisfenner in #308
- Use generics to simplify the TPMDirect interface by @chrisfenner in #310
- make two transcription fixes by @chrisfenner in #316
- support go generate for constants by @chrisfenner in #317
- fix reflection on cmd structs not to use elem by @chrisfenner in #329
- Replay google/master work since the start of tpmdirect by @chrisfenner in #330
- get rid of adapter.go and rename Startup_ and Shutdown_ by @chrisfenner in #331
- rely on go-tpm-tools @ 4639ecce2abad383ae6c5cbbc0eba5ba37abb05a by @chrisfenner in #332
New Contributors
- @matt-tsai made their first contribution in #279
- @akakou made their first contribution in #288
Full Changelog: v0.3.3...v0.9.0
v0.3.3
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 parametertimeoutis added intpm2.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