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