Ken Goldman - 2015-12-16

For big endian machines, build with BIG_ENDIAN_TPM=YES

The download is a compressed tarball. Evidently, some versions of gnu tar for Windows aren't built to handle compressed files. If the untar fails, try this:

> gzip -d ibmtpmnnn.tar.gz             # unzip
> tar xvf ibmtpmnnn.tar                # untar

Any TPM needs TPM2_Startup as its first command. A BIOS supporting a hardware TPM 2.0 will send this command. Otherwise, see the IBM TSS "startup" sample.

** For future changes notes, see the ChangeLog. **

**Build 1682 includes **

A minor update for OpenSSL 3.0.x,

** Build 1637 Includes: **

  • Increase NV memory size to match PC Client RSA 3072 requirements
  • Add and fix ACT support
  • Update Visual Studio files to 2019.

** Build 1628 Includes: **

  • Updates to TPM specification revision 162
  • Enable RSA 3072
  • Update for OpenSSL 1.1.0 API changes (even though it's end of life)
  • TPM process starts with TPM powered up.
  • Change USE_DA_USED to false to avoid simulator retry errors with the new IWG templates that permit DA protected EK passwords.
  • Match pcrUpdateCounter no increment attributes tp PC Client specification

** Build 1563 Includes: **

  • Updates to TPM specification revision 159, including the new TPM_CertifyX509 command
  • Support for OpenSSL 1.1.1. Other versions of OpenSSL are end of life.

** Build 1332 Includes: **

  • SIMULATON is disabled by default, so each new NVChip yields new random seeds
  • SHA-512 is supported
  • Supports 7 evict objects to agree with PC Client standard
  • Added support for IPv6, but it has not been tested. Please report success or bugs.
  • Updated with TPM specification rev 149 bug fixes.
  • fflush() added after fwrite() everywhere to ensure NV is weritten before a Ctrl-C

** Build 1119 Includes: **

  • Support for OpenSSL 1.1.x.
  • Support for big endian platforms, using BIG_ENDIAN_TPM=YES
  • An update to TPM specification draft revision 146, which is avalable for public review, including changes to TPM2_CreateLoaded and TPM2_EncryptDecrypt.
  • Support for Nuvoton TPM vendor specific commands.
  • A contributed makefile.mac for Mac.
  • The TPM starts powered up, so the initial power up command is not necessary.
  • Non-deterministic random numbers are used when SIMULATION is not set.
  • A few tweaks for better cygwin support.

** Build 974 Includes: **

  • an update to the TPM specification draft revision 142, with errata to revision 138.

** Build 832 Includes: **

The TPM state NVChip is not compatible with previous builds. Remove NVChip before running the first time.

  • an update to TPM specification revision 138. I believe that this will be the next published version. 138 includes 4 new commands and a refactoring of the crypto code to make it easier to replace the crypto library.

** Build 532 includes: **

  • a possible fix to the reported platform port number race condition. I saw the problem in the code, but it never failed for me. Let me know the results.

** Build 477 includes: **

  • an update to TPM 2.0 draft specification revision 124
  • a command line parameter to force remanufacturing. The previous release performed manufacturing each time the simulator was started. All NV memory was initialized. By default, without the new command line parameter, this build retains NV state.
 

Last edit: Ken Goldman 2024-05-21