1 | ## @file
|
---|
2 | # Cryptographic Library Instance for PEIM.
|
---|
3 | #
|
---|
4 | # Caution: This module requires additional review when modified.
|
---|
5 | # This library will have external input - signature.
|
---|
6 | # This external input must be validated carefully to avoid security issues such as
|
---|
7 | # buffer overflow or integer overflow.
|
---|
8 | #
|
---|
9 | # Note:
|
---|
10 | # HMAC-SHA256 functions, AES functions, RSA external
|
---|
11 | # functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, X.509
|
---|
12 | # certificate handler functions, authenticode signature verification functions,
|
---|
13 | # PEM handler functions, and pseudorandom number generator functions are not
|
---|
14 | # supported in this instance.
|
---|
15 | #
|
---|
16 | # Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
|
---|
17 | # SPDX-License-Identifier: BSD-2-Clause-Patent
|
---|
18 | #
|
---|
19 | ##
|
---|
20 |
|
---|
21 | [Defines]
|
---|
22 | INF_VERSION = 0x00010005
|
---|
23 | BASE_NAME = PeiCryptLib
|
---|
24 | MODULE_UNI_FILE = PeiCryptLib.uni
|
---|
25 | FILE_GUID = 91E0A3C3-37A7-4AEE-8689-C5B0AD2C8E63
|
---|
26 | MODULE_TYPE = PEIM
|
---|
27 | VERSION_STRING = 1.0
|
---|
28 | LIBRARY_CLASS = BaseCryptLib|PEIM PEI_CORE
|
---|
29 |
|
---|
30 | #
|
---|
31 | # The following information is for reference only and not required by the build tools.
|
---|
32 | #
|
---|
33 | # VALID_ARCHITECTURES = IA32 X64
|
---|
34 | #
|
---|
35 |
|
---|
36 | [Sources]
|
---|
37 | InternalCryptLib.h
|
---|
38 | Hash/CryptMd5.c
|
---|
39 | Hash/CryptSha1.c
|
---|
40 | Hash/CryptSha256.c
|
---|
41 | Hash/CryptSm3Null.c
|
---|
42 | Hash/CryptSha512.c
|
---|
43 | Hash/CryptParallelHashNull.c
|
---|
44 | Hmac/CryptHmac.c
|
---|
45 | Kdf/CryptHkdf.c
|
---|
46 | Cipher/CryptAes.c
|
---|
47 | Cipher/CryptAeadAesGcmNull.c
|
---|
48 | Pk/CryptRsaBasic.c
|
---|
49 | Pk/CryptRsaExtNull.c
|
---|
50 | Pk/CryptRsaPss.c
|
---|
51 | Pk/CryptRsaPssSignNull.c
|
---|
52 | Bn/CryptBnNull.c
|
---|
53 | Pem/CryptPemNull.c
|
---|
54 | Pk/CryptDhNull.c
|
---|
55 | Pk/CryptEcNull.c
|
---|
56 | Pk/CryptPkcs1OaepNull.c
|
---|
57 | Pk/CryptPkcs5Pbkdf2Null.c
|
---|
58 | Pk/CryptPkcs7SignNull.c
|
---|
59 | Pk/CryptPkcs7VerifyNull.c
|
---|
60 | Pk/CryptPkcs7VerifyEkuNull.c
|
---|
61 | Pk/CryptX509Null.c
|
---|
62 | Pk/CryptAuthenticodeNull.c
|
---|
63 | Pk/CryptTsNull.c
|
---|
64 | Rand/CryptRandNull.c
|
---|
65 | SysCall/CrtWrapper.c
|
---|
66 | SysCall/ConstantTimeClock.c
|
---|
67 |
|
---|
68 | [Packages]
|
---|
69 | MdePkg/MdePkg.dec
|
---|
70 | CryptoPkg/CryptoPkg.dec
|
---|
71 |
|
---|
72 | [LibraryClasses]
|
---|
73 | BaseLib
|
---|
74 | BaseMemoryLib
|
---|
75 | MemoryAllocationLib
|
---|
76 | DebugLib
|
---|
77 | MbedTlsLib
|
---|
78 | IntrinsicLib
|
---|
79 | PrintLib
|
---|
80 | PeiServicesTablePointerLib
|
---|
81 | PeiServicesLib
|
---|
82 | SynchronizationLib
|
---|
83 |
|
---|
84 | [Ppis]
|
---|
85 | gEfiPeiMpServicesPpiGuid
|
---|
86 | #
|
---|
87 | # Remove these [BuildOptions] after this library is cleaned up
|
---|
88 | #
|
---|
89 | [BuildOptions]
|
---|
90 | #
|
---|
91 | # suppress the following warnings so we do not break the build with warnings-as-errors:
|
---|
92 | # C4090: 'function' : different 'const' qualifiers
|
---|
93 | # C4718: 'function call' : recursive call has no side effects, deleting
|
---|
94 | #
|
---|
95 | MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
|
---|
96 |
|
---|
97 | GCC:*_CLANG35_*_CC_FLAGS = -std=c99
|
---|
98 | GCC:*_CLANG38_*_CC_FLAGS = -std=c99
|
---|
99 | GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
|
---|
100 |
|
---|
101 | XCODE:*_*_*_CC_FLAGS = -std=c99
|
---|