Stefan Berger
61cb823169
tpm2: Start supporting RSA 3072 keys
...
Start supporting RSA 3072 keys.
NVMarshal.c: We now accept state that was written by libtpms when RSA keys
sizes were 2048 or are 3072, basically less-or-equal than 3072.
Also increase the NVRAM memory size by ~45 kb to accommodate the worst
case where the USER NVRAM is full of 65 2048 bit persisted keys whose 65
OBJECTs are now expanding and need to again fit into the NVRAM. We have
to add exactly 45760 bytes to accomodate this case. See swtpm test
case test_tpm2_save_load_state_2. 65 * 704 = 45760.
NOTE: BETTER TO NOT BACKPORT!!! MAY NEGATIVELY AFFECT UPGRADE PATH!
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-05-04 08:01:26 -04:00
Stefan Berger
8016592b34
tpm2: Increase MAX_CONTEXT_SIZE to 2680 for RSA 3072 bit keys
...
Increase the MAX_CONTEXT_SIZE to 2680 to support the increased context
size when using 3072 bit keys.
NVMarhsal.c: Accept MAX_CONTEXT_SIZE values of less-or-equal the 2680,
which also accepts context sizes of the old value 2474.
NOTE: BETTER TO NOT BACKPORT!
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-05-04 08:01:26 -04:00
Stefan Berger
391d878197
tests: Display sizes of components of OBJECT when OBJECT size changes
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-05-04 08:01:26 -04:00
Stefan Berger
92d1544b0d
tpm2: Add a pAssert after a statement causing unfounded Coverity complaint
...
This is the Coverity complaint about the line
infoDataSize = TimeGetMarshaled(&infoData);
CID 1402057: Out-of-bounds access (OVERRUN)
1. overrun-buffer-val: Overrunning array infoData of 32 bytes by passing
it to a function which accesses it at byte offset 255.
TimeGetMarshaled() correctly serializes into &infoData, which is casted to
a buffer and then the data are written into the buffer. Also only 25 bytes,
as indicated by infoDataSize, are used, which is less than sizeof(infoData),
which is 32.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-24 17:19:58 -04:00
Stefan Berger
db80bd9ea1
build-sys: Remove 'experimental' tag from --with-tpm2
...
TPM 2 support has been in libtpms for quite some time now
and the experimental tag can be removed.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-21 11:23:23 -04:00
Stefan Berger
91b947f41e
tpm2: Comment dead code in Unmarshal.c/Marshal.c
...
This patch comments unreference/dead code in Unmarshal.c/Marshal.c.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-17 09:52:57 -04:00
Stefan Berger
157630bcc4
tpm2: Comment unused hash and RSA related functions
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
b19d7f6aca
CHANGES: Add entry about changes for 0.8.0 so far
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
a171839cab
gitignore: Ignore .dirstamp files
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
82342abebe
tpm2: Upgrade advertised revision to rev 159
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e6bbb8755e
tpm2: Sync TpmToOsslMath.c with svn repo
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
0fc4f49119
tpm2: Initialize g_daUsed to False on startup (bugfix?)
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
5c91611028
tpm2: Deactivate unused BnIsProbablyPrime() and BnGcd()
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
dd84e23a2d
tpm2: Fix conditional compile of TPM2_Vendor_TCG_Test
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f4c1824ec0
tpm2: ACT: Update CommandDispatchData.h to latest version
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
569a9e03ea
tpm2: ACT: Add rest of ACT code
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
46c267da85
tpm2: ACT: Extend case statements with FOR_EACH_ACT
...
Since none of the ACTs are enabled, the FOR_EACH_ACT statements
will all be no-ops.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
f4b7a835ee
tpm2: ACT: Add (disabled) ACT fields to ORDERLY_DATA and STATE_CLEAR_DATA
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
1f4c70cd3c
tpm2: ACT: Extend TPM2_Getcapability with TPM_CAP_ACT
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
213271eed8
tpm2: ACT: #define __ACT_DISABLED if no RH_ACT_* is YES
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
fd41faa54a
tpm2: ACT: Add data structures, defines, and un/marshalling code
...
Disable ACT via the TpmProfile.h's RH_ACT_{0,1,A) settings of NO.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
69537eca7e
tpm2: Add comment to MAX_CONTEXT_SIZE in TpmProfile.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
fce3cafa1a
tpm2: Have default case return TPM_RC_VALUE rather than FAIL()
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
9cf21831ba
tpm2: Move CONTEXT_COUNTER defintion to GpMacros.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
2a28b96aac
tpm2: Use CONTEXT_SLOT definition from TpmProfile.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
1f686aa8e9
tpm2: Remove unused define of CONTEXT_SLOT in Global.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
fb94dadeca
tpm2: Rename TPM_MAX_DERIVATION_BITS to MAX_DERIVATION_BITS
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
57bfde7bf7
tpm2: Include Platform_fp.h in AttestationCommands.c
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
6c2517355c
tpm2: Remove unused RADIX_BITS and BSIZE defines from TpmProfile.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
99e025c3d9
tpm2: Return int rather than BOOL on _plat__* functions
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
69d0950e34
tpm2: Move #defines for hash and sym alignment out of TpmProfile.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
2296a4dd2a
tpm2: Comments and whitespace changes only
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
25a9338eb4
tpm2: Assign TPM_ALG_ERROR to hashAlg rather than direct return
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c9bc79eaa5
tpm2: Remove PRIVATE_VENDOR_SPECIFIC_BYTES from GpMacros.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c4d84b994c
tpm2: Remove unnecessary check of #defines
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
5f0e2aef9d
tpm2: Add missing SM4; do not enable it
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
5233aa9e54
tpm2: Add support for SM3 hash; test cases missing
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
15687b63bc
tpm2: Add missing Camellia code including test cases
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
e226ea4c2d
tpm2: Reorganize TpmToOsslSym.h
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
893dafd7c0
tpm2: Re-introduce RSA_PRIVATE_SIZE and use it in TPM2B_PRIVATE_KEY_RSA
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
bbbaf89572
tpm2: Move NULL pointer check and remove size limit check in CryptRand.c
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
53d8e0de55
tpm2: Replace TPMI_RH_HIERARCHY_AUTH with .._POLICY in SetPrimaryPolicy_In
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
167c566c4f
tpm2: Add TPMI_RH_HIERARCHY_AUTH and unmarshaling code
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
292a7660b4
tpm2: Add (unused) TABLE_DRIVEN_MARSHAL code to CommandDispatcher
...
signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
9c8bbf7777
tpm2: Indicate build switch choices and add for TABLE_DRIVEN_MARSHAL
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
8c3dd46150
tpm2: Change order of includes
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
6eab7590e8
tpm2: Remove unncessary includes from NVDynamic.c
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
c9b676df07
tpm2: Add casts to some variables
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
58aa852d8a
tpm2: Refactor functions in TPMCmdp (logic change)
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00
Stefan Berger
0aaae35073
tpm2: Improve handling of broken NVChip file
...
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
2020-04-14 16:03:45 -04:00