1## @file
2#  Provides the capbility to configure secure boot in a setup browser
3#  By this module, user may change the content of DB, DBX, PK and KEK.
4#
5# Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
6# This program and the accompanying materials
7# are licensed and made available under the terms and conditions of the BSD License
8# which accompanies this distribution. The full text of the license may be found at
9# http://opensource.org/licenses/bsd-license.php
10# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12#
13##
14
15[Defines]
16  INF_VERSION                    = 0x00010005
17  BASE_NAME                      = SecureBootConfigDxe
18  MODULE_UNI_FILE                = SecureBootConfigDxe.uni
19  FILE_GUID                      = F0E6A44F-7195-41c3-AC64-54F202CD0A21
20  MODULE_TYPE                    = DXE_DRIVER
21  VERSION_STRING                 = 1.0
22  ENTRY_POINT                    = SecureBootConfigDriverEntryPoint
23  UNLOAD_IMAGE                   = SecureBootConfigDriverUnload
24
25#
26#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
27#
28
29[Sources]
30  SecureBootConfigDriver.c
31  SecureBootConfigImpl.c
32  SecureBootConfigFileExplorer.c
33  SecureBootConfigDevicePath.c
34  SecureBootConfigMisc.c
35  SecureBootConfigImpl.h
36  SecureBootConfig.vfr
37  SecureBootConfigStrings.uni
38  SecureBootConfigNvData.h
39
40[Packages]
41  MdePkg/MdePkg.dec
42  MdeModulePkg/MdeModulePkg.dec
43  SecurityPkg/SecurityPkg.dec
44  CryptoPkg/CryptoPkg.dec
45
46[LibraryClasses]
47  BaseLib
48  BaseMemoryLib
49  BaseCryptLib
50  MemoryAllocationLib
51  UefiLib
52  UefiBootServicesTableLib
53  UefiRuntimeServicesTableLib
54  UefiDriverEntryPoint
55  UefiHiiServicesLib
56  DebugLib
57  HiiLib
58  PlatformSecureLib
59  DevicePathLib
60  FileExplorerLib
61  PeCoffLib
62
63[Guids]
64  ## SOMETIMES_CONSUMES      ## Variable:L"CustomMode"
65  ## SOMETIMES_PRODUCES      ## Variable:L"CustomMode"
66  gEfiCustomModeEnableGuid
67
68  ## SOMETIMES_CONSUMES      ## Variable:L"SecureBootEnable"
69  ## SOMETIMES_PRODUCES      ## Variable:L"SecureBootEnable"
70  gEfiSecureBootEnableDisableGuid
71
72  ## SOMETIMES_CONSUMES      ## GUID            # Unique ID for the type of the signature.
73  ## SOMETIMES_PRODUCES      ## GUID            # Unique ID for the type of the signature.
74  gEfiCertRsa2048Guid
75
76  ## SOMETIMES_CONSUMES      ## GUID            # Unique ID for the type of the signature.
77  ## SOMETIMES_PRODUCES      ## GUID            # Unique ID for the type of the signature.
78  gEfiCertX509Guid
79
80  ## SOMETIMES_CONSUMES      ## GUID            # Unique ID for the type of the signature.
81  ## SOMETIMES_PRODUCES      ## GUID            # Unique ID for the type of the signature.
82  gEfiCertSha1Guid
83
84  ## SOMETIMES_CONSUMES      ## GUID            # Unique ID for the type of the signature.
85  ## SOMETIMES_PRODUCES      ## GUID            # Unique ID for the type of the signature.
86  gEfiCertSha256Guid
87
88  ## SOMETIMES_CONSUMES      ## Variable:L"db"
89  ## SOMETIMES_PRODUCES      ## Variable:L"db"
90  ## SOMETIMES_CONSUMES      ## Variable:L"dbx"
91  ## SOMETIMES_PRODUCES      ## Variable:L"dbx"
92  gEfiImageSecurityDatabaseGuid
93
94  ## SOMETIMES_CONSUMES      ## Variable:L"SetupMode"
95  ## SOMETIMES_PRODUCES      ## Variable:L"PK"
96  ## SOMETIMES_CONSUMES      ## Variable:L"KEK"
97  ## SOMETIMES_PRODUCES      ## Variable:L"KEK"
98  ## SOMETIMES_CONSUMES      ## Variable:L"SecureBoot"
99  gEfiGlobalVariableGuid
100
101  gEfiIfrTianoGuid                              ## PRODUCES            ## GUID       # HII opcode
102  ## PRODUCES                ## HII
103  ## CONSUMES                ## HII
104  gSecureBootConfigFormSetGuid
105  gEfiCertPkcs7Guid                             ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
106  gEfiCertTypeRsa2048Sha256Guid                 ## SOMETIMES_CONSUMES  ## GUID  # Unique ID for the type of the certificate.
107  gEfiFileSystemVolumeLabelInfoIdGuid           ## SOMETIMES_CONSUMES  ## GUID  # Indicate the information type
108  gEfiFileInfoGuid                              ## SOMETIMES_CONSUMES  ## GUID  # Indicate the information type
109
110  gEfiCertX509Sha256Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
111  gEfiCertX509Sha384Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
112  gEfiCertX509Sha512Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
113
114[Protocols]
115  gEfiHiiConfigAccessProtocolGuid               ## PRODUCES
116  gEfiDevicePathProtocolGuid                    ## PRODUCES
117  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
118  gEfiBlockIoProtocolGuid                       ## SOMETIMES_CONSUMES
119
120[Depex]
121  gEfiHiiConfigRoutingProtocolGuid  AND
122  gEfiHiiDatabaseProtocolGuid       AND
123  gEfiVariableArchProtocolGuid      AND
124  gEfiVariableWriteArchProtocolGuid
125
126[UserExtensions.TianoCore."ExtraFiles"]
127  SecureBootConfigDxeExtra.uni
128