2 This is BaseCrypto router support function.
4 Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved. <BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include <Library/BaseLib.h>
11 #include <Library/BaseMemoryLib.h>
12 #include <Library/Tpm2CommandLib.h>
13 #include <Library/DebugLib.h>
14 #include <Library/MemoryAllocationLib.h>
15 #include <Library/HashLib.h>
16 #include <Protocol/Tcg2Protocol.h>
23 TPM2_HASH_MASK mTpm2HashMask
[] = {
24 { HASH_ALGORITHM_SHA1_GUID
, HASH_ALG_SHA1
},
25 { HASH_ALGORITHM_SHA256_GUID
, HASH_ALG_SHA256
},
26 { HASH_ALGORITHM_SHA384_GUID
, HASH_ALG_SHA384
},
27 { HASH_ALGORITHM_SHA512_GUID
, HASH_ALG_SHA512
},
28 { HASH_ALGORITHM_SM3_256_GUID
, HASH_ALG_SM3_256
},
32 The function get hash mask info from algorithm.
34 @param HashGuid Hash Guid
40 Tpm2GetHashMaskFromAlgo (
46 for (Index
= 0; Index
< sizeof (mTpm2HashMask
)/sizeof (mTpm2HashMask
[0]); Index
++) {
47 if (CompareGuid (HashGuid
, &mTpm2HashMask
[Index
].Guid
)) {
48 return mTpm2HashMask
[Index
].Mask
;
56 The function set digest to digest list.
58 @param DigestList digest list
59 @param Digest digest data
63 Tpm2SetHashToDigestList (
64 IN OUT TPML_DIGEST_VALUES
*DigestList
,
65 IN TPML_DIGEST_VALUES
*Digest
69 &DigestList
->digests
[DigestList
->count
],
71 sizeof (Digest
->digests
[0])