DxeImageVerificationLib.inf 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. [Defines]
  16. INF_VERSION = 0x00010005
  17. BASE_NAME = DxeImageVerificationLib
  18. MODULE_UNI_FILE = DxeImageVerificationLib.uni
  19. FILE_GUID = 0CA970E1-43FA-4402-BC0A-81AF336BFFD6
  20. MODULE_TYPE = DXE_DRIVER
  21. VERSION_STRING = 1.0
  22. LIBRARY_CLASS = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
  23. CONSTRUCTOR = DxeImageVerificationLibConstructor
  24. #
  25. # The following information is for reference only and not required by the build tools.
  26. #
  27. # VALID_ARCHITECTURES = IA32 X64 EBC
  28. #
  29. [Sources]
  30. DxeImageVerificationLib.c
  31. DxeImageVerificationLib.h
  32. Measurement.c
  33. [Packages]
  34. MdePkg/MdePkg.dec
  35. MdeModulePkg/MdeModulePkg.dec
  36. CryptoPkg/CryptoPkg.dec
  37. SecurityPkg/SecurityPkg.dec
  38. [LibraryClasses]
  39. MemoryAllocationLib
  40. BaseLib
  41. UefiLib
  42. UefiBootServicesTableLib
  43. UefiRuntimeServicesTableLib
  44. BaseMemoryLib
  45. DebugLib
  46. DevicePathLib
  47. BaseCryptLib
  48. SecurityManagementLib
  49. PeCoffLib
  50. TpmMeasurementLib
  51. [Protocols]
  52. gEfiFirmwareVolume2ProtocolGuid ## SOMETIMES_CONSUMES
  53. gEfiBlockIoProtocolGuid ## SOMETIMES_CONSUMES
  54. gEfiSimpleFileSystemProtocolGuid ## SOMETIMES_CONSUMES
  55. [Guids]
  56. ## SOMETIMES_CONSUMES ## Variable:L"DB"
  57. ## SOMETIMES_CONSUMES ## Variable:L"DBX"
  58. ## SOMETIMES_CONSUMES ## Variable:L"DBT"
  59. ## PRODUCES ## SystemTable
  60. ## CONSUMES ## SystemTable
  61. gEfiImageSecurityDatabaseGuid
  62. ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  63. ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
  64. gEfiCertSha1Guid
  65. ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  66. ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
  67. gEfiCertSha256Guid
  68. ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  69. ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
  70. gEfiCertSha384Guid
  71. ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  72. ## SOMETIMES_PRODUCES ## GUID # Unique ID for the type of the signature.
  73. gEfiCertSha512Guid
  74. gEfiCertX509Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  75. gEfiCertX509Sha256Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  76. gEfiCertX509Sha384Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  77. gEfiCertX509Sha512Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the signature.
  78. gEfiCertPkcs7Guid ## SOMETIMES_CONSUMES ## GUID # Unique ID for the type of the certificate.
  79. [Pcd]
  80. gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy ## SOMETIMES_CONSUMES
  81. gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy ## SOMETIMES_CONSUMES
  82. gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy ## SOMETIMES_CONSUMES