CryptoPkg.dec 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. ## @file
  2. # Package for cryptography modules.
  3. #
  4. # This Package provides cryptographic-related libraries for UEFI security modules.
  5. # It also provides a test application to test libraries.
  6. #
  7. # Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>
  8. # SPDX-License-Identifier: BSD-2-Clause-Patent
  9. #
  10. ##
  11. [Defines]
  12. DEC_SPECIFICATION = 0x00010005
  13. PACKAGE_NAME = CryptoPkg
  14. PACKAGE_UNI_FILE = CryptoPkg.uni
  15. PACKAGE_GUID = 36470E80-36F2-4ba0-8CC8-937C7D9FF888
  16. PACKAGE_VERSION = 0.98
  17. [Includes]
  18. Include
  19. [Includes.Common.Private]
  20. Private
  21. Library/Include
  22. Library/OpensslLib/openssl/include
  23. [LibraryClasses]
  24. ## @libraryclass Provides basic library functions for cryptographic primitives.
  25. ##
  26. BaseCryptLib|Include/Library/BaseCryptLib.h
  27. ## @libraryclass Provides TLS library functions for EFI TLS protocol.
  28. ##
  29. TlsLib|Include/Library/TlsLib.h
  30. ## @libraryclass Provides Unified API for different hash implementations.
  31. #
  32. HashApiLib|Include/Library/HashApiLib.h
  33. [LibraryClasses.common.Private]
  34. ## @libraryclass Provides library functions from the openssl project.
  35. #
  36. OpensslLib|Private/Library/OpensslLib.h
  37. ## @libraryclass Provides compiler intrinsic functions required to link openssl project.
  38. #
  39. InstrinsicLib|Private/Library/IntrinsicLib.h
  40. [Protocols]
  41. ## EDK II Crypto DXE protocol
  42. # 2C2275C9-3A7B-426F-BE54-2D22BD9D1092
  43. gEdkiiCryptoProtocolGuid = { 0x2C2275C9, 0x3A7B, 0x426F, { 0xBE, 0x54, 0x2D, 0x22, 0xBD, 0x9D, 0x10, 0x92 }}
  44. ## EDK II Crypto SMM protocol
  45. # F46B2EB2-E0D7-4C96-A3B1-CB7C572EB300
  46. gEdkiiSmmCryptoProtocolGuid = { 0xF46B2EB2, 0xE0D7, 0x4C96, { 0xA3, 0xB1, 0xc, 0x61, 0xbb, 0x24, 0x5c, 0x42 }}
  47. [Ppis]
  48. ## EDK II Crypto PPI
  49. # 7DCE671B-C223-446A-A705-ED637AAF6771
  50. gEdkiiCryptoPpiGuid = { 0x7DCE671B, 0xC223, 0x446A, { 0xA7, 0x05, 0xED, 0x63, 0x7A, 0xAF, 0x67, 0x71 }}
  51. [Guids]
  52. ## Crypto package token space guid.
  53. gEfiCryptoPkgTokenSpaceGuid = { 0x6bd7de60, 0x9ef7, 0x4899, { 0x97, 0xd0, 0xab, 0xff, 0xfd, 0xe9, 0x70, 0xf2 } }
  54. [PcdsFixedAtBuild]
  55. ## Enable/Disable the families and individual services produced by the
  56. # EDK II Crypto Protocols/PPIs. The default is all services disabled.
  57. # This Structured PCD is associated with PCD_CRYPTO_SERVICE_FAMILY_ENABLE
  58. # structure that is defined in Include/Pcd/PcdCryptoServiceFamilyEnable.h.
  59. # @Prompt Enable/Disable EDK II Crypto Protocol/PPI services
  60. gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable|{0x00}|PCD_CRYPTO_SERVICE_FAMILY_ENABLE|0x00000002 {
  61. <Packages>
  62. CryptoPkg/CryptoPkg.dec
  63. <HeaderFiles>
  64. Pcd/PcdCryptoServiceFamilyEnable.h
  65. }
  66. ## This PCD indicates the HASH algorithm to calculate hash of data
  67. # Based on the value set, the required algorithm is chosen to calculate
  68. # the hash of data.<BR>
  69. # The default hashing algorithm for BaseHashApiLib is set to SHA256.<BR>
  70. # 0x00000001 - HASH_ALG_SHA1.<BR>
  71. # 0x00000002 - HASH_ALG_SHA256.<BR>
  72. # 0x00000004 - HASH_ALG_SHA384.<BR>
  73. # 0x00000008 - HASH_ALG_SHA512.<BR>
  74. # 0x00000010 - HASH_ALG_SM3_256.<BR>
  75. # @Prompt Set policy for hashing unsigned image for Secure Boot.
  76. # @ValidList 0x80000001 | 0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010
  77. gEfiCryptoPkgTokenSpaceGuid.PcdHashApiLibPolicy|0x00000002|UINT32|0x00000001
  78. [UserExtensions.TianoCore."ExtraFiles"]
  79. CryptoPkgExtra.uni