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 - 2014, 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
61[Guids]
62  ## SOMETIMES_CONSUMES      ## Variable:L"CustomMode"
63  ## SOMETIMES_PRODUCES      ## Variable:L"CustomMode"
64  gEfiCustomModeEnableGuid
65
66  ## SOMETIMES_CONSUMES      ## Variable:L"SecureBootEnable"
67  ## SOMETIMES_PRODUCES      ## Variable:L"SecureBootEnable"
68  gEfiSecureBootEnableDisableGuid
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  gEfiCertRsa2048Guid
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  gEfiCertX509Guid
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  gEfiCertSha1Guid
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  gEfiCertSha256Guid
85
86  ## SOMETIMES_CONSUMES      ## Variable:L"db"
87  ## SOMETIMES_PRODUCES      ## Variable:L"db"
88  ## SOMETIMES_CONSUMES      ## Variable:L"dbx"
89  ## SOMETIMES_PRODUCES      ## Variable:L"dbx"
90  gEfiImageSecurityDatabaseGuid
91
92  ## SOMETIMES_CONSUMES      ## Variable:L"SetupMode"
93  ## SOMETIMES_PRODUCES      ## Variable:L"PK"
94  ## SOMETIMES_CONSUMES      ## Variable:L"KEK"
95  ## SOMETIMES_PRODUCES      ## Variable:L"KEK"
96  ## SOMETIMES_CONSUMES      ## Variable:L"SecureBoot"
97  gEfiGlobalVariableGuid
98
99  gEfiIfrTianoGuid                              ## PRODUCES            ## GUID       # HII opcode
100  ## PRODUCES                ## HII
101  ## CONSUMES                ## HII
102  gSecureBootConfigFormSetGuid
103  gEfiCertPkcs7Guid                             ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
104  gEfiCertTypeRsa2048Sha256Guid                 ## SOMETIMES_CONSUMES  ## GUID  # Unique ID for the type of the certificate.
105  gEfiFileSystemVolumeLabelInfoIdGuid           ## SOMETIMES_CONSUMES  ## GUID  # Indicate the information type
106  gEfiFileInfoGuid                              ## SOMETIMES_CONSUMES  ## GUID  # Indicate the information type
107
108  gEfiCertX509Sha256Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
109  gEfiCertX509Sha384Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
110  gEfiCertX509Sha512Guid                        ## SOMETIMES_PRODUCES  ## GUID  # Unique ID for the type of the certificate.
111
112[Protocols]
113  gEfiHiiConfigAccessProtocolGuid               ## PRODUCES
114  gEfiDevicePathProtocolGuid                    ## PRODUCES
115  gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
116  gEfiBlockIoProtocolGuid                       ## SOMETIMES_CONSUMES
117
118[Depex]
119  gEfiHiiConfigRoutingProtocolGuid  AND
120  gEfiHiiDatabaseProtocolGuid       AND
121  gEfiVariableArchProtocolGuid      AND
122  gEfiVariableWriteArchProtocolGuid
123
124[UserExtensions.TianoCore."ExtraFiles"]
125  SecureBootConfigDxeExtra.uni
126