CryptoPkg PeiCryptLib: Enable SHA384/512 support
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / SmmCryptLib.inf
1 ## @file\r
2 #  Cryptographic Library Instance for SMM driver.\r
3 #\r
4 #  Caution: This module requires additional review when modified.\r
5 #  This library will have external input - signature.\r
6 #  This external input must be validated carefully to avoid security issues such as\r
7 #  buffer overflow or integer overflow.\r
8 #\r
9 #  Note: MD4 Digest functions, SHA-384 Digest functions, SHA-512 Digest functions,\r
10 #  HMAC-MD5 functions, HMAC-SHA1 functions, TDES/ARC4 functions, RSA external\r
11 #  functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, and \r
12 #  authenticode signature verification functions are not supported in this instance.\r
13 #\r
14 #  Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
15 #  This program and the accompanying materials\r
16 #  are licensed and made available under the terms and conditions of the BSD License\r
17 #  which accompanies this distribution.  The full text of the license may be found at\r
18 #  http://opensource.org/licenses/bsd-license.php\r
19 #\r
20 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
21 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
22 #\r
23 ##\r
24 \r
25 [Defines]\r
26   INF_VERSION                    = 0x00010005\r
27   BASE_NAME                      = SmmCryptLib\r
28   MODULE_UNI_FILE                = SmmCryptLib.uni\r
29   FILE_GUID                      = 028080a3-8958-4a62-a1a8-0fa1da162007\r
30   MODULE_TYPE                    = DXE_SMM_DRIVER\r
31   VERSION_STRING                 = 1.0\r
32   PI_SPECIFICATION_VERSION       = 0x0001000A\r
33   LIBRARY_CLASS                  = BaseCryptLib|DXE_SMM_DRIVER SMM_CORE\r
34 \r
35 #\r
36 # The following information is for reference only and not required by the build tools.\r
37 #\r
38 #  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
39 #\r
40 \r
41 [Sources]\r
42   Hash/CryptMd4Null.c\r
43   Hash/CryptMd5.c\r
44   Hash/CryptSha1.c\r
45   Hash/CryptSha256.c\r
46   Hash/CryptSha512Null.c\r
47   Hmac/CryptHmacMd5Null.c\r
48   Hmac/CryptHmacSha1Null.c\r
49   Hmac/CryptHmacSha256.c\r
50   Cipher/CryptAes.c\r
51   Cipher/CryptTdesNull.c\r
52   Cipher/CryptArc4Null.c\r
53   Pk/CryptRsaBasic.c\r
54   Pk/CryptRsaExtNull.c\r
55   Pk/CryptPkcs5Pbkdf2.c\r
56   Pk/CryptPkcs7SignNull.c\r
57   Pk/CryptPkcs7Verify.c\r
58   Pk/CryptDhNull.c\r
59   Pk/CryptX509.c\r
60   Pk/CryptAuthenticodeNull.c\r
61   Pk/CryptTsNull.c\r
62   Pem/CryptPem.c\r
63 \r
64   SysCall/CrtWrapper.c\r
65   SysCall/ConstantTimeClock.c\r
66   SysCall/BaseMemAllocation.c\r
67 \r
68 [Sources.Ia32]\r
69   Rand/CryptRandTsc.c\r
70 \r
71 [Sources.X64]\r
72   Rand/CryptRandTsc.c\r
73 \r
74 [Sources.IPF]\r
75   Rand/CryptRandItc.c\r
76 \r
77 [Sources.ARM]\r
78   Rand/CryptRand.c\r
79 \r
80 [Sources.AARCH64]\r
81   Rand/CryptRand.c\r
82 \r
83 [Packages]\r
84   MdePkg/MdePkg.dec\r
85   CryptoPkg/CryptoPkg.dec\r
86 \r
87 [LibraryClasses]\r
88   BaseLib\r
89   IoLib\r
90   BaseMemoryLib\r
91   MemoryAllocationLib\r
92   OpensslLib\r
93   IntrinsicLib\r
94   PrintLib\r
95 \r
96 #\r
97 # Remove these [BuildOptions] after this library is cleaned up\r
98 #\r
99 [BuildOptions]\r
100   #\r
101   # suppress the following warnings so we do not break the build with warnings-as-errors:\r
102   # C4090: 'function' : different 'const' qualifiers\r
103   #\r
104   MSFT:*_*_*_CC_FLAGS = /wd4090\r
105 \r
106   GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"\r
107   XCODE:*_*_*_CC_FLAGS = -mmmx -msse\r