* Added new build option for TPM provisioning (`--enable-provisioning` on by default).
* Added new `wolfTPM2_CreatePrimaryKey_ex` and `WOLFTPM2_PKEY` that supports returning creation ticket/hash.
* Added key templates for initial device (IDevID) and attestation keys (IAK).
* Extended `create_primary` example to support creation or IDevID and IAK.
* Added new policy hash helper API `wolfTPM2_PolicyHash`
* Switch handle/nvIndex string parsing to use `strtoul`.
ZD 18347
Added Infineon Modus Toolbox support. See `wolfssl/IDE/Infineon/README.md` for setup instructions.
Added support for Infineon CyHal I2C support.
Added Firmware extraction tool
Added Firmware update example application `examples/firmware/ifx_fw_update`.
Added support for vendor capabilities `TPM_CAP_VENDOR_PROPERTY`.
Added `XSLEEP_MS` macro for firmware update delay.
Added support for getting key group id, operational mode and update counts.
Added support for abandoning an update.
Added support for firmware update done, but not finalized
Fix auto-detect to not define SLB9672/SLB9673.
* Support for PCR with policy. Issue #109
* Progress on PCR policy. Work from John Bland.
* add wrapper functions to seal secrets the NVM with policy authorization
fix the seal and unseal with policy functions to work with non trial policies
update policy examples to allow multiple pcr indicies to be used, currently only 2 can be used because TPML_PCR_SELECTION only allows 2 pcr sellections, may need to be refactored but I didn't want to blow that part of the codebase up
* fix TPM2_SetupPCRSel to correctly use hash type banks
* update policy functions and examples based on pr comments
fixed rsa keys not working due to null default signing algorithm, seal_policy_auth can now be called with no arguments and will pick defaults
* update policy examples based on pcr comments
added error codes and htons macro for use when wolfcrypt is not available
* added policySigned logic to policy seal with nv functions
currently the policy seal with auth nv example is broken due to strange session issues
* Improvements to the session authentication for policy sessions.
* update the sealNV functions, add PolicyRestart and manual htnos
wolfTPM2_SealWithAuthSigNV allows for sealing secrets to NV with just the public part of the sealing key and a pre signed signature so that the private part of the key can be kept off the system. PolicyRestart was added to make reseting the policyDigest easy and a manual htnos function was added for use in wolfBoot
* update policy code based on pr comments
* reconfigure wolfTPM after setting up ibm simulator
* define XREWIND in wolfTPM since it is no longer in wolfssl
* fix scan-build warnings
* remove RSA_SIG_SZ
* use signed char in HexCharToByte for strict build options
* update based on pr comments
---------
Co-authored-by: David Garske <david@wolfssl.com>
evict control had an issue where the default noauth session was being used
alongisde the encrypted section. to fix this wolfTPM2_SetAuthSession needs
to be called with index 0 to override the default session, it's possible we've
made this mistake in many places