Commit Graph

1293 Commits

Author SHA1 Message Date
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
Stefan Berger
ffd2511967 tpm2: rev155: Refactor GetSavedPcrPointer()
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
9e47ac1e23 tpm2: rev155: Have NvEntityStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
108c585c18 tpm2: rev155: Have ObjectStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e96f6857d2 tpm2: rev155: Have SessionStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
2fada6139a tpm2: rev155: Have HierarchyStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
1973935e2e tpm2: rev155: Have DAStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
8302aa22ea tpm2: rev155: Have TimeStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c58d60398b tpm2: rev155: Have TPMRegisterStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f0ec1bfe36 tpm2: rev155: Have CommandAuditStartup return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
1bbedefe5d tpm2: rev155: Have NvWrite return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
7712e5dacc tpm2: rev155: Have _plat__NvMemoryWrite return BOOL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
8833dee474 tpm2: rev155: Have BnGeneratePrimeForRSA return TPM_RC
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
110bb0ea8d tpm2: rev155: Change parameter to SensitivetoPrivate to TPM2B_NAME 2020-04-14 16:03:45 -04:00
Stefan Berger
c1b16825ee tpm2: rev155: Remove ObjectGetNameAlg()
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
1207eec953 tpm2: Replace MAX_SM4_KEY_BITS and MAX_CAMELLIA_KEY_BITS with 128
Rev 155 code defines MAX_SM4_KEY_BITS = 0 and MAX_CAMELLIA_KEY_BITS = 0
since both algorithms are not enabled. To be able to read old state
we now replace the usage of the #defines with hard coded values that
have no further meaning. If we ever activate the algoritms, we have to
extend the state.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
12233f42cf tpm2: sync: Use the ubsan fixes from upstream
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
236a2fd119 tpm2: Sync with TPM 2 code comments or commented code (part 2)
Sync with TPM 2 code where the only difference is now comments
or commented/dead code.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
18924c6bde tpm2: sync: keep PRIVATE_VENDOR_SPECIFIC_BYTES at size from rev 150
Keep the size of PRIVATE_VENDOR_SPECIFIC_BYTES. Changing its size would
change the size of an Object, which we don't want since Objects are in
NVRAM memory and now more would fit than before. Fitting more is not the
problem but the state cannot be downgraded anymore since an earlier
implementation would require more bytes per Object and would not allow
fitting them all anymore.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
9865d9014c tpm2: sync: Initalize gc.platformAlg to ALG_NULL
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
19a12fbf79 tpm2: sync: Return error code in case of shutdown type != SU_CLEAR
Return an error code from TPM2_Shutdown in case an unknown shutdown
type code was given. Before that a failure was returned, which should
never have happened since the unmarshal function for parsing the shutdown
code would have caused an error when the command was parsed.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
675b53db61 tpm2: sync: Change variable to UINT16 as returned by CryptHashGetDigestSize
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
6a04c24a3d tpm2: sync: Change size parameter to CryptRandomGenerate to UINT16
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c5546b5d76 tpm2: sync: Change #if defined SELF_TEST to #if SELF_TEST
This change has no negative effect on what branch of code gets
compiled.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
cfd12a7458 tpm2: sync: Add Windows specific includes
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
58d8971db0 tpm2: sync: Fix typo in comment
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00