#\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 issue like\r
-# buffer overflow, integer overflow.\r
+# This external input must be validated carefully to avoid security issues such as\r
+# buffer overflow or integer overflow.\r
+#\r
+# Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
-# Copyright (c) 2009 - 2012, 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 = BaseCryptLib\r
+ MODULE_UNI_FILE = BaseCryptLib.uni\r
FILE_GUID = be3bb803-91b6-4da0-bd91-a8b21c18ca5d\r
- MODULE_TYPE = BASE\r
+ MODULE_TYPE = DXE_DRIVER\r
VERSION_STRING = 1.0\r
- LIBRARY_CLASS = BaseCryptLib\r
+ LIBRARY_CLASS = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER\r
\r
#\r
# The following information is for reference only and not required by the build tools.\r
#\r
-# VALID_ARCHITECTURES = IA32 X64 IPF ARM\r
+# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 RISCV64\r
#\r
\r
[Sources]\r
InternalCryptLib.h\r
- Hash/CryptMd4.c\r
Hash/CryptMd5.c\r
Hash/CryptSha1.c\r
Hash/CryptSha256.c\r
- Hmac/CryptHmacMd5.c\r
- Hmac/CryptHmacSha1.c\r
+ Hash/CryptSha512.c\r
+ Hash/CryptSm3.c\r
+ Hash/CryptParallelHashNull.c\r
+ Hmac/CryptHmac.c\r
+ Kdf/CryptHkdf.c\r
Cipher/CryptAes.c\r
- Cipher/CryptTdes.c\r
- Cipher/CryptArc4.c\r
- Pk/CryptRsa.c\r
- Pk/CryptPkcs7.c\r
+ Cipher/CryptAeadAesGcm.c\r
+ Pk/CryptRsaBasic.c\r
+ Pk/CryptRsaExt.c\r
+ Pk/CryptPkcs1Oaep.c\r
+ Pk/CryptPkcs5Pbkdf2.c\r
+ Pk/CryptPkcs7Sign.c\r
+ Pk/CryptPkcs7VerifyCommon.c\r
+ Pk/CryptPkcs7VerifyBase.c\r
+ Pk/CryptPkcs7VerifyEku.c\r
Pk/CryptDh.c\r
Pk/CryptX509.c\r
Pk/CryptAuthenticode.c\r
+ Pk/CryptTs.c\r
+ Pk/CryptRsaPss.c\r
+ Pk/CryptRsaPssSign.c\r
Pem/CryptPem.c\r
+ Bn/CryptBn.c\r
\r
SysCall/CrtWrapper.c\r
SysCall/TimerWrapper.c\r
SysCall/BaseMemAllocation.c\r
+ SysCall/inet_pton.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
-\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
-\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
-\r
Rand/CryptRandTsc.c\r
\r
[Sources.X64]\r
Rand/CryptRandTsc.c\r
\r
-[Sources.IPF]\r
- Rand/CryptRandItc.c\r
-\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
[Packages]\r
MdePkg/MdePkg.dec\r
CryptoPkg/CryptoPkg.dec\r
BaseLib\r
BaseMemoryLib\r
MemoryAllocationLib\r
+ UefiRuntimeServicesTableLib\r
DebugLib\r
OpensslLib\r
IntrinsicLib\r
PrintLib\r
\r
+[FixedPcd]\r
+ gEfiCryptoPkgTokenSpaceGuid.PcdOpensslEcEnabled\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
+ # suppress the following warnings so we do not break the build with warnings-as-errors:\r
+ # C4090: 'function' : different 'const' qualifiers\r
+ #\r
+ MSFT:*_*_*_CC_FLAGS = /wd4090\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