]> git.proxmox.com Git - mirror_edk2.git/blob - CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
Add comment for modules which have external input.
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / SmmCryptLib.inf
1 ## @file
2 # Cryptographic Library Instance for SMM driver.
3 #
4 # This library instance uses ConstantTimeClock.c thus does not provide
5 # functionality for following APIs which need system time support:
6 # 1) RsaGenerateKey
7 # 2) RsaCheckKey
8 # 3) RsaPkcs1Sign
9 # 4) Pkcs7Sign
10 # 5) DhGenerateParameter
11 # 6) DhGenerateKey
12 #
13 # Caution: This module requires additional review when modified.
14 # This library will have external input - signature.
15 # This external input must be validated carefully to avoid security issue like
16 # buffer overflow, integer overflow.
17 #
18 # Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
19 # This program and the accompanying materials
20 # are licensed and made available under the terms and conditions of the BSD License
21 # which accompanies this distribution. The full text of the license may be found at
22 # http://opensource.org/licenses/bsd-license.php
23 #
24 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
25 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
26 #
27 ##
28
29 [Defines]
30 INF_VERSION = 0x00010005
31 BASE_NAME = SmmCryptLib
32 FILE_GUID = 028080a3-8958-4a62-a1a8-0fa1da162007
33 MODULE_TYPE = DXE_SMM_DRIVER
34 VERSION_STRING = 1.0
35 PI_SPECIFICATION_VERSION = 0x0001000A
36 LIBRARY_CLASS = BaseCryptLib|DXE_SMM_DRIVER SMM_CORE
37
38 #
39 # The following information is for reference only and not required by the build tools.
40 #
41 # VALID_ARCHITECTURES = IA32 X64
42 #
43
44 [Sources]
45 Hash/CryptMd5.c
46 Hash/CryptSha1.c
47 Hash/CryptSha256.c
48 Pk/CryptRsa.c
49 Pk/CryptPkcs7.c
50 Pk/CryptX509.c
51 Pem/CryptPem.c
52
53 SysCall/CrtWrapper.c
54 SysCall/ConstantTimeClock.c
55 SysCall/BaseMemAllocation.c
56
57 [Sources.Ia32]
58 SysCall/Ia32/MathMultS64x64.c | MSFT
59 SysCall/Ia32/MathDivU64x64.c | MSFT
60 SysCall/Ia32/MathReminderU64x64.c | MSFT
61 SysCall/Ia32/MathLShiftS64.c | MSFT
62 SysCall/Ia32/MathRShiftU64.c | MSFT
63
64 SysCall/Ia32/MathMultS64x64.c | INTEL
65 SysCall/Ia32/MathDivU64x64.c | INTEL
66 SysCall/Ia32/MathReminderU64x64.c | INTEL
67 SysCall/Ia32/MathLShiftS64.c | INTEL
68 SysCall/Ia32/MathRShiftU64.c | INTEL
69
70 SysCall/Ia32/MathMultS64x64.S | GCC
71 SysCall/Ia32/MathDivU64x64.S | GCC
72 SysCall/Ia32/MathReminderU64x64.S | GCC
73 SysCall/Ia32/MathLShiftS64.S | GCC
74 SysCall/Ia32/MathRShiftU64.S | GCC
75
76 Rand/CryptRandTsc.c
77
78 [Sources.X64]
79 Rand/CryptRandTsc.c
80
81 [Sources.IPF]
82 Rand/CryptRandItc.c
83
84 [Sources.ARM]
85 Rand/CryptRand.c
86
87 [Packages]
88 MdePkg/MdePkg.dec
89 CryptoPkg/CryptoPkg.dec
90
91 [LibraryClasses]
92 BaseLib
93 IoLib
94 BaseMemoryLib
95 MemoryAllocationLib
96 OpensslLib
97 IntrinsicLib
98 PrintLib
99
100 #
101 # Remove these [BuildOptions] after this library is cleaned up
102 #
103 [BuildOptions]
104 GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
105