tpm2-pytss 3.0.0-rc0

Erik <[email protected]> Sun, 21 Sep 2025 23:21:53 +0200
Newsgroups dev.linux.lists.tpm2
Message-ID <[email protected]>
Hi,

There is now a release candidate available for the next release of tpm2-pyt=
ss, 3.0.0-rc0.
The most interesting addition is the command/response parser, which will pa=
rse byte streams into command and response classes.
There are some breaking changes as well, the tools encoder/decoder has been=
 removed.
And the argument order for the ESAPI commands policy_signed, policy_ticket =
and policy_authorize has changed to make some arguments optional.

The full changelog:
## 3.0.0-rc0 - 2025-09-21
### Fixed
- Restore environment when exiting FAPIConfig

### Added
- Add a context manager for ESYS handles, which flushes the handle at exit.
- Add SVN, ACT and other missing constants.
- Add the ESAPI command `certify_x509`.
- Add the ESAPI command `act_set_timeout`.
- Add copy dunder for cryptography private keys.
- Add the ESAPI command `trsess_get_attributes`.
- Add signature scheme structures.
- Add marshal/unmarshal structures for `TPM2_HANDLE`.
- Add the command_parser module, which can decode TPM 2.0 command/response =
byte streams.
- Add support for passing prehashed data to `TPMT_SIGNATURE.verify_signatur=
e`.
- Add the marshal/unmarshal methods to union types, as they require a selec=
tor.
- Add the equal dunder to struct types, allowing comparing two different in=
stances of the same type.

### Changed
- Make the symmetric argument to `start_auth_session` optional.
- Accept None for the pcr_digest argument for `policy_pcr`.
- Support looking up EK templates by other names, such as `L-1` or `H-2`.
- Make the validition ticket for the sign command optional, defaults to a N=
ULL ticket.
- The argument order for `ESAPI.policy_signed`, `ESAPI.policy_ticket` and `=
ESAPI.policy_authorize` has changed.
  This is to make expiration, nonce_tpm, policy_ref and cp_hash_a arguments=
 optional, with expiration being set to the max value and the rest are empt=
y buffers by default.


/Erik