summaryrefslogtreecommitdiffstats
path: root/CryptoPkg/CryptoPkg.dec
blob: dc521c09a805cd6a18a77d371e21b62ba80b1339 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
## @file
#  Package for cryptography modules.
#
#  This Package provides cryptographic-related libraries for UEFI security modules.
#  It also provides a test application to test libraries.
#
#  Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  DEC_SPECIFICATION              = 0x00010005
  PACKAGE_NAME                   = CryptoPkg
  PACKAGE_UNI_FILE               = CryptoPkg.uni
  PACKAGE_GUID                   = 36470E80-36F2-4ba0-8CC8-937C7D9FF888
  PACKAGE_VERSION                = 0.98

[Includes]
  Include

[Includes.Common.Private]
  Private
  Library/Include
  Library/OpensslLib/openssl
  Library/OpensslLib/openssl/include
  Library/OpensslLib/openssl/providers/common/include
  Library/OpensslLib/openssl/providers/implementations/include
  Library/OpensslLib/OpensslGen/include
  Library/OpensslLib/OpensslGen/providers/common/include
  Library/MbedTlsLib/Include
  Library/MbedTlsLib/mbedtls/include
  Library/MbedTlsLib/mbedtls/include/mbedtls
  Library/MbedTlsLib/mbedtls/library

[LibraryClasses]
  ##  @libraryclass  Provides basic library functions for cryptographic primitives.
  ##
  BaseCryptLib|Include/Library/BaseCryptLib.h

  ##  @libraryclass  Provides TLS library functions for EFI TLS protocol.
  ##
  TlsLib|Include/Library/TlsLib.h

  ##  @libraryclass  Provides Unified API for different hash implementations.
  #
  HashApiLib|Include/Library/HashApiLib.h

[LibraryClasses.common.Private]
  ##  @libraryclass  Provides library functions from the openssl project.
  #
  OpensslLib|Private/Library/OpensslLib.h
  MbedTlsLib|Private/Library/MbedTlsLib.h

  ##  @libraryclass  Provides compiler intrinsic functions required to link openssl project.
  #
  InstrinsicLib|Private/Library/IntrinsicLib.h

[Protocols]
  ## EDK II Crypto DXE protocol
  # 2C2275C9-3A7B-426F-BE54-2D22BD9D1092
  gEdkiiCryptoProtocolGuid =  { 0x2C2275C9, 0x3A7B, 0x426F, { 0xBE, 0x54, 0x2D, 0x22, 0xBD, 0x9D, 0x10, 0x92 }}

  ## EDK II Crypto SMM protocol
  # F46B2EB2-E0D7-4C96-A3B1-CB7C572EB300
  gEdkiiSmmCryptoProtocolGuid =  { 0xF46B2EB2, 0xE0D7, 0x4C96, { 0xA3, 0xB1, 0xc, 0x61, 0xbb, 0x24, 0x5c, 0x42 }}

[Ppis]
  ## EDK II Crypto PPI
  # 7DCE671B-C223-446A-A705-ED637AAF6771
  gEdkiiCryptoPpiGuid =  { 0x7DCE671B, 0xC223, 0x446A, { 0xA7, 0x05, 0xED, 0x63, 0x7A, 0xAF, 0x67, 0x71 }}

[Guids]
  ## Crypto package token space guid.
  gEfiCryptoPkgTokenSpaceGuid      = { 0x6bd7de60, 0x9ef7, 0x4899, { 0x97, 0xd0, 0xab, 0xff, 0xfd, 0xe9, 0x70, 0xf2 } }

[PcdsFixedAtBuild]
  ## Enable/Disable the families and individual services produced by the
  #  EDK II Crypto Protocols/PPIs.  The default is all services disabled.
  #  This Structured PCD is associated with PCD_CRYPTO_SERVICE_FAMILY_ENABLE
  #  structure that is defined in Include/Pcd/PcdCryptoServiceFamilyEnable.h.
  # @Prompt Enable/Disable EDK II Crypto Protocol/PPI services
  gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable|{0x00}|PCD_CRYPTO_SERVICE_FAMILY_ENABLE|0x00000002 {
    <Packages>
      CryptoPkg/CryptoPkg.dec
    <HeaderFiles>
      Pcd/PcdCryptoServiceFamilyEnable.h
  }

  ## This PCD indicates the HASH algorithm to calculate hash of data
  #  Based on the value set, the required algorithm is chosen to calculate
  #  the hash of data.<BR>
  #  The default hashing algorithm for BaseHashApiLib is set to SHA256.<BR>
  #     0x00000001    - HASH_ALG_SHA1.<BR>
  #     0x00000002    - HASH_ALG_SHA256.<BR>
  #     0x00000004    - HASH_ALG_SHA384.<BR>
  #     0x00000008    - HASH_ALG_SHA512.<BR>
  #     0x00000010    - HASH_ALG_SM3_256.<BR>
  # @Prompt Set policy for hashing unsigned image for Secure Boot.
  # @ValidList 0x80000001 | 0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010
  gEfiCryptoPkgTokenSpaceGuid.PcdHashApiLibPolicy|0x00000002|UINT32|0x00000001

[UserExtensions.TianoCore."ExtraFiles"]
  CryptoPkgExtra.uni