Commit Graph

918 Commits

Author SHA1 Message Date
Stefan Berger
b1bac6d212 tpm2: rev155: Add DebugHelpers and header file
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
a5866291ca tpm2: rev155: Implement new command TPM2_CertifyX509
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
77f452fd14 tpm2: rev155: Add code to create X509 RSA and EC key certificates
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
83221ed68e tpm2: rev155: Add ASN.1 related code
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e5a67ccde9 tpm2: rev155: Remove old hash related code and definitions
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
ddba4e3c6b tpm2: rev155: Use MakeDerTag instead of CryptHashGetDer
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
8679241b2f tpm2: rev155: Implement MakeDerTag
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
d098436a34 tpm2: rev155: Extend HASH_DEF with BYTE *OID
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
244cd1bae9 tpm2: rev155: Extend ECC_CURVE with BYTE *OID and adjust code
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f402d39d66 tpm2: rev155: Add OIDS.h 2020-04-14 16:03:45 -04:00
Stefan Berger
fd1b23daae tpm2: rev155: Remove CURVE_SPEC #define
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
b6269798bd tpm2: rev155: Consider g_inFailureMode when returning from crypto functions
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c72fded7fc tpm2: rev155: Marshal functions for TPMS_NV_DIGEST_CERTIFY_INFO
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
3dcaa01d0a tpm2: rev155: Major refactoring of header files
- Introduce Platform.h and replace usage of PlatformData.h and
  Platform_fp.h
- Drop Implementation.h since we now use TpmProfile.h (which we
  prepared previously); many #defines were moved to TpmTypes.h

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
296cbb1699 tpm2: rev155: Refactor hash templates; for now also keep old templates
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
19574a4c42 tpm2: rev155: Implement CryptRsaPssSaltSize
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
fa7af853d8 tpm2: rev155: Implement case TPM_ST_ATTEST_NV_DIGEST
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c453ceec08 tpm2: rev155: Implement NvHashIndexData
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e97ac75c95 tpm2: rev155: Reorder #include statements
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
5e4564a286 tpm2: rev155: Add TYPE_OF_TPM_XYZ to TpmTypes.h
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
44f3d032a5 tpm2: rev155: Introduce #define EXTERN and use it to move vars to Global.h
Move all variables from Global.c into Global.h

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f415f46939 tpm2: rev155: Remove unnecessary #if ALG_RSA and ALG_ECC
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
7e6a43a7f8 tpm2: rev155: Allow PROFILE to be defined and #included
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f4316a7011 tpm2: rev155: Consider return value of DRBG_InstantiateSeeded
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
259d47279b tpm2: rev155: Have DRBG related functions return values not void
Have some DRBG related functions return BOOL or TPM_RC to be
able to handle failure cases. Inside the functions do not
use FAIL anymore but LOG_FAILURE and return FALSE.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e62e6d0c12 tpm2: rev155: Replace FAIL_NOCMD with LOG_FAILURE
Replace FAIL_NOCMD with LOG_FAILURE, which calls into LogFailure,
which in turn calls TpmSetFailureMode, just like before.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f1e92fee8b tpm2: rev155: Implement TpmLogFailure and modify for libtpms
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
7b617b4c2b tpm2: rev155: Refactor MarshalUint16/32 in TpmFail.c
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
94de67dad7 tpm2: rev155: Remove UnmarshalHeader from TpmFail.c
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
da96ac6f08 tpm2: rev155: Add LIB_EXPORT to BnCurveFree()
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
ba240b3cca tpm2: rev155: Add TpmAlgorithmDefines.h (no users yet)
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
a3f7213f75 tpm2: rev155: Add Platform.h (no users yet)
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
d216a724c1 tpm2: rev155: Add TpmProfile.h and adjust for libtpms
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
8a0af9b12a tpm2: rev155: Add new file MinMax.h (no users yet)
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
772911e36d tpm2: rev155: Have MillerRabin() and RsaCheckPrime() check g_inFailureMode
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
85901749b3 tpm2: rev155: Get rid of #define COMMA in SymmetricTest.h
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
2ad9e144af tpm2: rev155: Refactor to introduce MATH_LIB_OSSL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
3a899ea39b tpm2: rev155: Implement OsslPush/PopContext and use it
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
a06bdadf97 tpm2: rev155: Refactor to introduce SYM_LIB_OSSL 2020-04-14 16:03:45 -04:00
Stefan Berger
a840312536 tpm2: rev155: Give structure name SYMMETRIC_TEST_VECTOR (nit)
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
3f12200a41 tpm2: rev155: Sync up unused SMAC_IMPLEMENTED #define
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
4a1fca7604 tpm2: rev155: Comment and whitespace changes only
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
400ce96414 tpm2: rev155: Refactor ByteArrayToUintXY functions
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
68b81c3f9e tpm2: rev155: Implement ByteArrayToUint8
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
191e989d75 tpm2: rev155: only do memmove if src != dest
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f0ae45a51c tpm2: rev155: Change list terminator in s_ccAttr
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
caf22f0e03 tpm2: rev155: Remove LIB_EXPORT from funcs in CryptPrimeSieve.c
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
9d202ba5e7 tpm2: rev155: Refacoring in CryptCreateObject()
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
d88f5198ec tpm2: rev155: Refactor StartupCommands looking at returns of XYZStartup()
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
ba3d47baf4 tpm2: rev155: Have PCRStarup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00