]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterCommon.c
SecurityPkg: Apply uncrustify changes
[mirror_edk2.git] / SecurityPkg / Library / HashLibBaseCryptoRouter / HashLibBaseCryptoRouterCommon.c
CommitLineData
c1d93242 1/** @file\r
07309c3d 2 This is BaseCrypto router support function.\r
c1d93242 3\r
07309c3d 4Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved. <BR>\r
289b714b 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
c1d93242
JY
6\r
7**/\r
8\r
9#include <PiPei.h>\r
10#include <Library/BaseLib.h>\r
11#include <Library/BaseMemoryLib.h>\r
12#include <Library/Tpm2CommandLib.h>\r
13#include <Library/DebugLib.h>\r
14#include <Library/MemoryAllocationLib.h>\r
15#include <Library/HashLib.h>\r
1abfa4ce 16#include <Protocol/Tcg2Protocol.h>\r
c1d93242
JY
17\r
18typedef struct {\r
c411b485
MK
19 EFI_GUID Guid;\r
20 UINT32 Mask;\r
c1d93242
JY
21} TPM2_HASH_MASK;\r
22\r
c411b485
MK
23TPM2_HASH_MASK mTpm2HashMask[] = {\r
24 { HASH_ALGORITHM_SHA1_GUID, HASH_ALG_SHA1 },\r
25 { HASH_ALGORITHM_SHA256_GUID, HASH_ALG_SHA256 },\r
26 { HASH_ALGORITHM_SHA384_GUID, HASH_ALG_SHA384 },\r
27 { HASH_ALGORITHM_SHA512_GUID, HASH_ALG_SHA512 },\r
28 { HASH_ALGORITHM_SM3_256_GUID, HASH_ALG_SM3_256 },\r
c1d93242
JY
29};\r
30\r
31/**\r
32 The function get hash mask info from algorithm.\r
33\r
34 @param HashGuid Hash Guid\r
35\r
36 @return HashMask\r
37**/\r
38UINT32\r
39EFIAPI\r
40Tpm2GetHashMaskFromAlgo (\r
41 IN EFI_GUID *HashGuid\r
42 )\r
43{\r
44 UINTN Index;\r
c411b485
MK
45\r
46 for (Index = 0; Index < sizeof (mTpm2HashMask)/sizeof (mTpm2HashMask[0]); Index++) {\r
c1d93242
JY
47 if (CompareGuid (HashGuid, &mTpm2HashMask[Index].Guid)) {\r
48 return mTpm2HashMask[Index].Mask;\r
49 }\r
50 }\r
c411b485 51\r
c1d93242
JY
52 return 0;\r
53}\r
54\r
55/**\r
56 The function set digest to digest list.\r
57\r
58 @param DigestList digest list\r
59 @param Digest digest data\r
60**/\r
61VOID\r
62EFIAPI\r
63Tpm2SetHashToDigestList (\r
c411b485
MK
64 IN OUT TPML_DIGEST_VALUES *DigestList,\r
65 IN TPML_DIGEST_VALUES *Digest\r
c1d93242
JY
66 )\r
67{\r
68 CopyMem (\r
69 &DigestList->digests[DigestList->count],\r
70 &Digest->digests[0],\r
c411b485 71 sizeof (Digest->digests[0])\r
c1d93242 72 );\r
c411b485 73 DigestList->count++;\r
c1d93242 74}\r