]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / RuntimeCryptLib.inf
index 81a37ec5aad22608d725f9e8bfb62c7604b4dd71..07dbc0e7a8bd1ab9be66d8af7e42738d45efcea8 100644 (file)
@@ -1,60 +1,90 @@
 ## @file\r
-#  Cryptographic Library Instance for DXE_RUNTIME_DRIVER\r
+#  Cryptographic Library Instance for DXE_RUNTIME_DRIVER.\r
+#\r
+#  Caution: This module requires additional review when modified.\r
+#  This library will have external input - signature.\r
+#  This external input must be validated carefully to avoid security issues such as\r
+#  buffer overflow or integer overflow.\r
+#\r
+#  Note: SHA-384 Digest functions, SHA-512 Digest functions,\r
+#  HMAC-SHA256 functions, AES functions, RSA external\r
+#  functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, and\r
+#  authenticode signature verification functions are not supported in this instance.\r
+#\r
+#  Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>\r
+#  Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>\r
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
-#  Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#  \r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-#  \r
 ##\r
 \r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = RuntimeCryptLib\r
+  MODULE_UNI_FILE                = RuntimeCryptLib.uni\r
   FILE_GUID                      = 78189cc0-727d-46a4-84ea-f7dd860de64a\r
   MODULE_TYPE                    = DXE_RUNTIME_DRIVER\r
   VERSION_STRING                 = 1.0\r
-  LIBRARY_CLASS                  = BaseCryptLib\r
+  LIBRARY_CLASS                  = BaseCryptLib|DXE_RUNTIME_DRIVER\r
   CONSTRUCTOR                    = RuntimeCryptLibConstructor\r
 \r
 #\r
 # The following information is for reference only and not required by the build tools.\r
 #\r
-#  VALID_ARCHITECTURES           = IA32 X64 IPF\r
+#  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64\r
 #\r
 \r
 [Sources]\r
+  InternalCryptLib.h\r
   Hash/CryptMd5.c\r
   Hash/CryptSha1.c\r
   Hash/CryptSha256.c\r
-  Pk/CryptRsa.c\r
-  \r
+  Hash/CryptSm3.c\r
+  Hash/CryptSha512.c\r
+  Hash/CryptParallelHashNull.c\r
+  Hmac/CryptHmac.c\r
+  Kdf/CryptHkdf.c\r
+  Cipher/CryptAes.c\r
+  Cipher/CryptAeadAesGcmNull.c\r
+  Pk/CryptRsaBasic.c\r
+  Pk/CryptRsaExtNull.c\r
+  Pk/CryptPkcs1OaepNull.c\r
+  Pk/CryptPkcs5Pbkdf2Null.c\r
+  Pk/CryptPkcs7SignNull.c\r
+  Pk/CryptPkcs7VerifyCommon.c\r
+  Pk/CryptPkcs7VerifyRuntime.c\r
+  Pk/CryptPkcs7VerifyEkuRuntime.c\r
+  Pk/CryptDhNull.c\r
+  Pk/CryptX509.c\r
+  Pk/CryptAuthenticodeNull.c\r
+  Pk/CryptTsNull.c\r
+  Pk/CryptRsaPssNull.c\r
+  Pk/CryptRsaPssSignNull.c\r
+  Pk/CryptEcNull.c\r
+  Pem/CryptPem.c\r
+  Bn/CryptBnNull.c\r
+\r
   SysCall/CrtWrapper.c\r
   SysCall/TimerWrapper.c\r
   SysCall/RuntimeMemAllocation.c\r
 \r
 [Sources.Ia32]\r
-  SysCall/Ia32/MathMultS64x64.c     | MSFT\r
-  SysCall/Ia32/MathDivU64x64.c      | MSFT\r
-  SysCall/Ia32/MathReminderU64x64.c | MSFT\r
-  SysCall/Ia32/MathLShiftS64.c      | MSFT\r
-  SysCall/Ia32/MathRShiftU64.c      | MSFT\r
+  Rand/CryptRandTsc.c\r
 \r
-  SysCall/Ia32/MathMultS64x64.c     | INTEL\r
-  SysCall/Ia32/MathDivU64x64.c      | INTEL\r
-  SysCall/Ia32/MathReminderU64x64.c | INTEL\r
-  SysCall/Ia32/MathLShiftS64.c      | INTEL\r
-  SysCall/Ia32/MathRShiftU64.c      | INTEL\r
+[Sources.X64]\r
+  Rand/CryptRandTsc.c\r
 \r
-  SysCall/Ia32/MathMultS64x64.S     | GCC\r
-  SysCall/Ia32/MathDivU64x64.S      | GCC\r
-  SysCall/Ia32/MathReminderU64x64.S | GCC\r
-  SysCall/Ia32/MathLShiftS64.S      | GCC\r
-  SysCall/Ia32/MathRShiftU64.S      | GCC\r
+[Sources.ARM]\r
+  Rand/CryptRand.c\r
+\r
+[Sources.AARCH64]\r
+  Rand/CryptRand.c\r
+\r
+[Sources.RISCV64]\r
+  Rand/CryptRand.c\r
+\r
+[Sources.LOONGARCH64]\r
+  Rand/CryptRand.c\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
 [LibraryClasses]\r
   BaseLib\r
   BaseMemoryLib\r
-  MemoryAllocationLib\r
-  UefiBootServicesTableLib\r
   UefiRuntimeServicesTableLib\r
   DebugLib\r
   OpensslLib\r
   IntrinsicLib\r
+  PrintLib\r
 \r
 #\r
 # Remove these [BuildOptions] after this library is cleaned up\r
 #\r
 [BuildOptions]\r
-  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"\r
-  \r
+  #\r
+  # suppress the following warnings so we do not break the build with warnings-as-errors:\r
+  #\r
+  GCC:*_CLANG35_*_CC_FLAGS = -std=c99\r
+  GCC:*_CLANG38_*_CC_FLAGS = -std=c99\r
+  GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types\r
+\r
+  XCODE:*_*_*_CC_FLAGS = -std=c99\r