## @file\r
-# Cryptographic Library Instance for DXE_RUNTIME_DRIVER\r
+# Cryptographic Library Instance for DXE_RUNTIME_DRIVER.\r
#\r
-# Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>\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: MD4 Digest functions, SHA-384 Digest functions, SHA-512 Digest functions,\r
+# HMAC-MD5 functions, HMAC-SHA1 functions, AES/TDES/ARC4 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 - 2014, 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
+#\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
\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 ARM\r
+# VALID_ARCHITECTURES = IA32 X64 IPF ARM AARCH64\r
#\r
\r
[Sources]\r
+ Hash/CryptMd4Null.c\r
Hash/CryptMd5.c\r
Hash/CryptSha1.c\r
Hash/CryptSha256.c\r
- Pk/CryptRsa.c\r
- Pk/CryptPkcs7.c\r
+ Hash/CryptSha512Null.c\r
+ Hmac/CryptHmacMd5Null.c\r
+ Hmac/CryptHmacSha1Null.c\r
+ Cipher/CryptAesNull.c\r
+ Cipher/CryptTdesNull.c\r
+ Cipher/CryptArc4Null.c\r
+ Pk/CryptRsaBasic.c\r
+ Pk/CryptRsaExtNull.c\r
+ Pk/CryptPkcs7SignNull.c\r
+ Pk/CryptPkcs7Verify.c\r
+ Pk/CryptDhNull.c\r
Pk/CryptX509.c\r
+ Pk/CryptAuthenticodeNull.c\r
+ Pk/CryptTsNull.c\r
Pem/CryptPem.c\r
\r
SysCall/CrtWrapper.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
-\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
[Sources.ARM]\r
Rand/CryptRand.c\r
\r
+[Sources.AARCH64]\r
+ Rand/CryptRand.c\r
+\r
[Packages]\r
MdePkg/MdePkg.dec\r
CryptoPkg/CryptoPkg.dec\r
#\r
[BuildOptions]\r
GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"\r
- \r
+\r
+ # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT\r
+ # --diag_remark=1 : Reduce severity of "#1-D: last line of file ends without a newline"\r
+ RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1\r