Message ID | 20210709153903.691945-1-stefanb@linux.vnet.ibm.com |
---|---|
Headers | show |
Series | tcgbios: Use the proper hashes for the TPM 2 PCR banks | expand |
On 10/07/2021 01:38, Stefan Berger wrote: > From: Stefan Berger <stefanb@linux.ibm.com> > > This PR modifies the tcgbios implementation so that it maskes use of the > proper hash function when extending a PCR of a particular PCR bank > rather than always using the sha256 and either truncating the hash or > zero-padding it to fit the hash for a PCR bank. > > Another patch in this series converts the S_CTRM_VERSION string to ucs-2 > format (following a long-term TCG contributor) commonly used for this > purpose. > > Test cases for the sha implementations are added as well. They require > OpenSSL's -lcrypto on the host since they use its hashing functions > for producing comparable results. A test script to run the tests is also > added along with a script to run the tests on Travis. Thanks, applied. > Regards, > Stefan > > v4: > - Removed applied patches > - Refactored test scripts and modified programs following feedback > - Adjusted commit texts > - Using Alexey's ucs-2 patch now > > v3: > - Add patch for Travis > - Adjustments to test code to not have to include openssl/sha.h > > v2: > - split out type fix in sha256 documentation into own patch > - replace rotr in sha256 implementation with assembly macro > - Added test cases needing -lcrypto on host; added test script > > > Stefan Berger (5): > tcgbios: Change format of S_CRTM_VERSION string to ucs-2 > tcgbios: Use assembly for 32 bit rotr in sha256 > tcgbios: Use The proper sha function for each PCR bank > tcgbios: Add test cases and test script to run them > Travis: Add script for running tests on Travis > > .travis.yml | 15 ++++++++++ > Makefile.gen | 2 +- > lib/libtpm/Makefile | 1 + > lib/libtpm/sha.c | 27 ++++++++++++++++++ > lib/libtpm/sha256.c | 40 +++++++++++++++++++++++--- > lib/libtpm/sha512.c | 36 ++++++++++++++++++++++++ > lib/libtpm/sha_test.h | 59 +++++++++++++++++++++++++++++++++++++++ > lib/libtpm/tcgbios.c | 65 +++++++++++++++++++++++++++++-------------- > lib/libtpm/test.sh | 31 +++++++++++++++++++++ > make.rules | 3 +- > 10 files changed, 252 insertions(+), 27 deletions(-) > create mode 100644 .travis.yml > create mode 100644 lib/libtpm/sha_test.h > create mode 100755 lib/libtpm/test.sh >
From: Stefan Berger <stefanb@linux.ibm.com> This PR modifies the tcgbios implementation so that it maskes use of the proper hash function when extending a PCR of a particular PCR bank rather than always using the sha256 and either truncating the hash or zero-padding it to fit the hash for a PCR bank. Another patch in this series converts the S_CTRM_VERSION string to ucs-2 format (following a long-term TCG contributor) commonly used for this purpose. Test cases for the sha implementations are added as well. They require OpenSSL's -lcrypto on the host since they use its hashing functions for producing comparable results. A test script to run the tests is also added along with a script to run the tests on Travis. Regards, Stefan v4: - Removed applied patches - Refactored test scripts and modified programs following feedback - Adjusted commit texts - Using Alexey's ucs-2 patch now v3: - Add patch for Travis - Adjustments to test code to not have to include openssl/sha.h v2: - split out type fix in sha256 documentation into own patch - replace rotr in sha256 implementation with assembly macro - Added test cases needing -lcrypto on host; added test script Stefan Berger (5): tcgbios: Change format of S_CRTM_VERSION string to ucs-2 tcgbios: Use assembly for 32 bit rotr in sha256 tcgbios: Use The proper sha function for each PCR bank tcgbios: Add test cases and test script to run them Travis: Add script for running tests on Travis .travis.yml | 15 ++++++++++ Makefile.gen | 2 +- lib/libtpm/Makefile | 1 + lib/libtpm/sha.c | 27 ++++++++++++++++++ lib/libtpm/sha256.c | 40 +++++++++++++++++++++++--- lib/libtpm/sha512.c | 36 ++++++++++++++++++++++++ lib/libtpm/sha_test.h | 59 +++++++++++++++++++++++++++++++++++++++ lib/libtpm/tcgbios.c | 65 +++++++++++++++++++++++++++++-------------- lib/libtpm/test.sh | 31 +++++++++++++++++++++ make.rules | 3 +- 10 files changed, 252 insertions(+), 27 deletions(-) create mode 100644 .travis.yml create mode 100644 lib/libtpm/sha_test.h create mode 100755 lib/libtpm/test.sh