197f98500c1d40eba76210961e90ea5d354bcbc18hhtian## @file 2dda856b3c16240b7c8731ae58af1faf11d979717Dong, Guo# Cryptographic Library Instance for DXE_RUNTIME_DRIVER. 397f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 4dc204d5a0fd64d1ccbc90ebea827e7ad73b71f4djyao# Caution: This module requires additional review when modified. 5dc204d5a0fd64d1ccbc90ebea827e7ad73b71f4djyao# This library will have external input - signature. 62ac68e8b549b646607149919a2780bcd7234d92dQin Long# This external input must be validated carefully to avoid security issues such as 7dda856b3c16240b7c8731ae58af1faf11d979717Dong, Guo# buffer overflow or integer overflow. 8dc204d5a0fd64d1ccbc90ebea827e7ad73b71f4djyao# 92ac68e8b549b646607149919a2780bcd7234d92dQin Long# Note: MD4 Digest functions, SHA-384 Digest functions, SHA-512 Digest functions, 1072009c626d8b1c237c0de840e9bfe9d23b76b94cQin Long# HMAC-MD5 functions, HMAC-SHA1/SHA256 functions, AES/TDES/ARC4 functions, RSA external 112ac68e8b549b646607149919a2780bcd7234d92dQin Long# functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, and 122ac68e8b549b646607149919a2780bcd7234d92dQin Long# authenticode signature verification functions are not supported in this instance. 13532616bbd62bea0fe4873f2e7a57de7be9ba3976tye# 1472009c626d8b1c237c0de840e9bfe9d23b76b94cQin Long# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR> 1597f98500c1d40eba76210961e90ea5d354bcbc18hhtian# This program and the accompanying materials 1697f98500c1d40eba76210961e90ea5d354bcbc18hhtian# are licensed and made available under the terms and conditions of the BSD License 1797f98500c1d40eba76210961e90ea5d354bcbc18hhtian# which accompanies this distribution. The full text of the license may be found at 1897f98500c1d40eba76210961e90ea5d354bcbc18hhtian# http://opensource.org/licenses/bsd-license.php 192ac68e8b549b646607149919a2780bcd7234d92dQin Long# 2097f98500c1d40eba76210961e90ea5d354bcbc18hhtian# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 2197f98500c1d40eba76210961e90ea5d354bcbc18hhtian# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 222ac68e8b549b646607149919a2780bcd7234d92dQin Long# 2397f98500c1d40eba76210961e90ea5d354bcbc18hhtian## 2497f98500c1d40eba76210961e90ea5d354bcbc18hhtian 2597f98500c1d40eba76210961e90ea5d354bcbc18hhtian[Defines] 2697f98500c1d40eba76210961e90ea5d354bcbc18hhtian INF_VERSION = 0x00010005 2797f98500c1d40eba76210961e90ea5d354bcbc18hhtian BASE_NAME = RuntimeCryptLib 28dda856b3c16240b7c8731ae58af1faf11d979717Dong, Guo MODULE_UNI_FILE = RuntimeCryptLib.uni 2997f98500c1d40eba76210961e90ea5d354bcbc18hhtian FILE_GUID = 78189cc0-727d-46a4-84ea-f7dd860de64a 3097f98500c1d40eba76210961e90ea5d354bcbc18hhtian MODULE_TYPE = DXE_RUNTIME_DRIVER 3197f98500c1d40eba76210961e90ea5d354bcbc18hhtian VERSION_STRING = 1.0 32532616bbd62bea0fe4873f2e7a57de7be9ba3976tye LIBRARY_CLASS = BaseCryptLib|DXE_RUNTIME_DRIVER 3397f98500c1d40eba76210961e90ea5d354bcbc18hhtian CONSTRUCTOR = RuntimeCryptLibConstructor 3497f98500c1d40eba76210961e90ea5d354bcbc18hhtian 3597f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 3697f98500c1d40eba76210961e90ea5d354bcbc18hhtian# The following information is for reference only and not required by the build tools. 3797f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 38d1984abcb9a9fa7fe0b1e6ee13e71d943718bda8Ronald Cron# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64 3997f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 4097f98500c1d40eba76210961e90ea5d354bcbc18hhtian 4197f98500c1d40eba76210961e90ea5d354bcbc18hhtian[Sources] 42532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Hash/CryptMd4Null.c 4397f98500c1d40eba76210961e90ea5d354bcbc18hhtian Hash/CryptMd5.c 4497f98500c1d40eba76210961e90ea5d354bcbc18hhtian Hash/CryptSha1.c 4597f98500c1d40eba76210961e90ea5d354bcbc18hhtian Hash/CryptSha256.c 462ac68e8b549b646607149919a2780bcd7234d92dQin Long Hash/CryptSha512Null.c 47532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Hmac/CryptHmacMd5Null.c 48532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Hmac/CryptHmacSha1Null.c 4972009c626d8b1c237c0de840e9bfe9d23b76b94cQin Long Hmac/CryptHmacSha256Null.c 50532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Cipher/CryptAesNull.c 51532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Cipher/CryptTdesNull.c 52532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Cipher/CryptArc4Null.c 53532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Pk/CryptRsaBasic.c 54532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Pk/CryptRsaExtNull.c 55a8f37449c7e355e6402e3876c9db9e11d875164fQin Long Pk/CryptPkcs5Pbkdf2Null.c 56532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Pk/CryptPkcs7SignNull.c 572ac68e8b549b646607149919a2780bcd7234d92dQin Long Pk/CryptPkcs7Verify.c 58532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Pk/CryptDhNull.c 59e8b4eb041777a361c2fb81b34c8ab65951ff8c46tye Pk/CryptX509.c 60532616bbd62bea0fe4873f2e7a57de7be9ba3976tye Pk/CryptAuthenticodeNull.c 612ac68e8b549b646607149919a2780bcd7234d92dQin Long Pk/CryptTsNull.c 62b7d320f8117ed2fffe001b1a0b7bfcd4f40fafc4tye Pem/CryptPem.c 63b7d320f8117ed2fffe001b1a0b7bfcd4f40fafc4tye 6497f98500c1d40eba76210961e90ea5d354bcbc18hhtian SysCall/CrtWrapper.c 6597f98500c1d40eba76210961e90ea5d354bcbc18hhtian SysCall/TimerWrapper.c 6697f98500c1d40eba76210961e90ea5d354bcbc18hhtian SysCall/RuntimeMemAllocation.c 6797f98500c1d40eba76210961e90ea5d354bcbc18hhtian 6897f98500c1d40eba76210961e90ea5d354bcbc18hhtian[Sources.Ia32] 697ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye Rand/CryptRandTsc.c 707ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye 717ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye[Sources.X64] 727ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye Rand/CryptRandTsc.c 737ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye 747ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye[Sources.IPF] 757ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye Rand/CryptRandItc.c 767ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye 777ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye[Sources.ARM] 787ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye Rand/CryptRand.c 797ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye 80d1984abcb9a9fa7fe0b1e6ee13e71d943718bda8Ronald Cron[Sources.AARCH64] 81d1984abcb9a9fa7fe0b1e6ee13e71d943718bda8Ronald Cron Rand/CryptRand.c 82d1984abcb9a9fa7fe0b1e6ee13e71d943718bda8Ronald Cron 8397f98500c1d40eba76210961e90ea5d354bcbc18hhtian[Packages] 8497f98500c1d40eba76210961e90ea5d354bcbc18hhtian MdePkg/MdePkg.dec 8597f98500c1d40eba76210961e90ea5d354bcbc18hhtian CryptoPkg/CryptoPkg.dec 8697f98500c1d40eba76210961e90ea5d354bcbc18hhtian 8797f98500c1d40eba76210961e90ea5d354bcbc18hhtian[LibraryClasses] 8897f98500c1d40eba76210961e90ea5d354bcbc18hhtian BaseLib 8997f98500c1d40eba76210961e90ea5d354bcbc18hhtian BaseMemoryLib 9097f98500c1d40eba76210961e90ea5d354bcbc18hhtian MemoryAllocationLib 9197f98500c1d40eba76210961e90ea5d354bcbc18hhtian UefiBootServicesTableLib 9297f98500c1d40eba76210961e90ea5d354bcbc18hhtian UefiRuntimeServicesTableLib 9397f98500c1d40eba76210961e90ea5d354bcbc18hhtian DebugLib 9497f98500c1d40eba76210961e90ea5d354bcbc18hhtian OpensslLib 9597f98500c1d40eba76210961e90ea5d354bcbc18hhtian IntrinsicLib 967ce960e7129f6eedd2fd426f6d64f1f33cbe1154tye PrintLib 9797f98500c1d40eba76210961e90ea5d354bcbc18hhtian 9897f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 9997f98500c1d40eba76210961e90ea5d354bcbc18hhtian# Remove these [BuildOptions] after this library is cleaned up 10097f98500c1d40eba76210961e90ea5d354bcbc18hhtian# 10197f98500c1d40eba76210961e90ea5d354bcbc18hhtian[BuildOptions] 10297f98500c1d40eba76210961e90ea5d354bcbc18hhtian GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))" 1035fa05671e2ac0dafc52eb3b8049b4ac95f54d3bfArd Biesheuvel 1045fa05671e2ac0dafc52eb3b8049b4ac95f54d3bfArd Biesheuvel # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT 1055fa05671e2ac0dafc52eb3b8049b4ac95f54d3bfArd Biesheuvel # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline" 1065fa05671e2ac0dafc52eb3b8049b4ac95f54d3bfArd Biesheuvel RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1 107