1## @file 2# Cryptographic Library Instance for PEIM. 3# 4# Caution: This module requires additional review when modified. 5# This library will have external input - signature. 6# This external input must be validated carefully to avoid security issues such as 7# buffer overflow or integer overflow. 8# 9# Note: MD4 Digest functions, 10# HMAC-MD5 functions, HMAC-SHA1/SHA256 functions, AES/TDES/ARC4 functions, RSA external 11# functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, X.509 12# certificate handler functions, authenticode signature verification functions, 13# PEM handler functions, and pseudorandom number generator functions are not 14# supported in this instance. 15# 16# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR> 17# SPDX-License-Identifier: BSD-2-Clause-Patent 18# 19## 20 21[Defines] 22 INF_VERSION = 0x00010005 23 BASE_NAME = PeiCryptLib 24 MODULE_UNI_FILE = PeiCryptLib.uni 25 FILE_GUID = 9a2a4375-194c-4e97-9f67-547ec98d96ca 26 MODULE_TYPE = PEIM 27 VERSION_STRING = 1.0 28 LIBRARY_CLASS = BaseCryptLib|PEIM PEI_CORE 29 30# 31# The following information is for reference only and not required by the build tools. 32# 33# VALID_ARCHITECTURES = IA32 X64 34# 35 36[Sources] 37 Hash/CryptMd4Null.c 38 Hash/CryptMd5.c 39 Hash/CryptSha1.c 40 Hash/CryptSha256.c 41 Hash/CryptSha512.c 42 Hmac/CryptHmacMd5Null.c 43 Hmac/CryptHmacSha1Null.c 44 Hmac/CryptHmacSha256Null.c 45 Cipher/CryptAesNull.c 46 Cipher/CryptTdesNull.c 47 Cipher/CryptArc4Null.c 48 49 Pk/CryptRsaBasic.c 50 Pk/CryptRsaExtNull.c 51 Pk/CryptPkcs1OaepNull.c 52 Pk/CryptPkcs5Pbkdf2Null.c 53 Pk/CryptPkcs7SignNull.c 54 Pk/CryptPkcs7VerifyCommon.c 55 Pk/CryptPkcs7VerifyBase.c 56 Pk/CryptPkcs7VerifyEku.c 57 58 Pk/CryptDhNull.c 59 Pk/CryptX509Null.c 60 Pk/CryptAuthenticodeNull.c 61 Pk/CryptTsNull.c 62 Pem/CryptPemNull.c 63 64 Rand/CryptRandNull.c 65 66 SysCall/CrtWrapper.c 67 SysCall/ConstantTimeClock.c 68 SysCall/BaseMemAllocation.c 69 70[Packages] 71 MdePkg/MdePkg.dec 72 CryptoPkg/CryptoPkg.dec 73 74[LibraryClasses] 75 BaseLib 76 BaseMemoryLib 77 MemoryAllocationLib 78 DebugLib 79 OpensslLib 80 IntrinsicLib 81 82# 83# Remove these [BuildOptions] after this library is cleaned up 84# 85[BuildOptions] 86 # 87 # suppress the following warnings so we do not break the build with warnings-as-errors: 88 # C4090: 'function' : different 'const' qualifiers 89 # C4718: 'function call' : recursive call has no side effects, deleting 90 # 91 MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718 92 93 # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT 94 # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" 95 RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 96 97 GCC:*_CLANG35_*_CC_FLAGS = -std=c99 98 GCC:*_CLANG38_*_CC_FLAGS = -std=c99 99 100 XCODE:*_*_*_CC_FLAGS = -std=c99 101