]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
SecurityPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / SecurityPkg / Library / DxeImageVerificationLib / DxeImageVerificationLib.inf
1 ## @file
2 # Provides security service of image verification
3 #
4 # This library hooks LoadImage() API to verify every image by the verification policy.
5 #
6 # Caution: This module requires additional review when modified.
7 # This library will have external input - PE/COFF image.
8 # This external input must be validated carefully to avoid security issues such as
9 # buffer overflow or integer overflow.
10 #
11 # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
12 # SPDX-License-Identifier: BSD-2-Clause-Patent
13 #
14 ##
15
16 [Defines]
17 INF_VERSION = 0x00010005
18 BASE_NAME = DxeImageVerificationLib
19 MODULE_UNI_FILE = DxeImageVerificationLib.uni
20 FILE_GUID = 0CA970E1-43FA-4402-BC0A-81AF336BFFD6
21 MODULE_TYPE = DXE_DRIVER
22 VERSION_STRING = 1.0
23 LIBRARY_CLASS = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
24 CONSTRUCTOR = DxeImageVerificationLibConstructor
25
26 #
27 # The following information is for reference only and not required by the build tools.
28 #
29 # VALID_ARCHITECTURES = IA32 X64 EBC
30 #
31
32 [Sources]
33 DxeImageVerificationLib.c
34 DxeImageVerificationLib.h
35 Measurement.c
36
37 [Packages]
38 MdePkg/MdePkg.dec
39 MdeModulePkg/MdeModulePkg.dec
40 CryptoPkg/CryptoPkg.dec
41 SecurityPkg/SecurityPkg.dec
42
43 [LibraryClasses]
44 MemoryAllocationLib
45 BaseLib
46 UefiLib
47 UefiBootServicesTableLib
48 UefiRuntimeServicesTableLib
49 BaseMemoryLib
50 DebugLib
51 DevicePathLib
52 BaseCryptLib
53 SecurityManagementLib
54 PeCoffLib
55 TpmMeasurementLib
56
57 [Protocols]
58 gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMES
59 gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES
60 gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
61
62 [Guids]
63 ## SOMETIMES_CONSUMES ## Variable:L"DB"
64 ## SOMETIMES_CONSUMES ## Variable:L"DBX"
65 ## SOMETIMES_CONSUMES ## Variable:L"DBT"
66 ## PRODUCES ## SystemTable
67 ## CONSUMES ## SystemTable
68 gEfiImageSecurityDatabaseGuid
69
70 ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
71 ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
72 gEfiCertSha1Guid
73
74 ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
75 ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
76 gEfiCertSha256Guid
77
78 ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
79 ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
80 gEfiCertSha384Guid
81
82 ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
83 ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
84 gEfiCertSha512Guid
85
86 gEfiCertX509Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
87 gEfiCertX509Sha256Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
88 gEfiCertX509Sha384Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
89 gEfiCertX509Sha512Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
90 gEfiCertPkcs7Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the certificate.
91
92 [Pcd]
93 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy ## SOMETIMES_CONSUMES
94 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy ## SOMETIMES_CONSUMES
95 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy ## SOMETIMES_CONSUMES