Home | History | Annotate | Download | only in BaseCryptLib
      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, SHA-384 Digest functions, SHA-512 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 - 2016, Intel Corporation. All rights reserved.<BR>

     17 #  This program and the accompanying materials

     18 #  are licensed and made available under the terms and conditions of the BSD License

     19 #  which accompanies this distribution.  The full text of the license may be found at

     20 #  http://opensource.org/licenses/bsd-license.php

     21 #

     22 #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     23 #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     24 #

     25 ##

     26 
     27 [Defines]
     28   INF_VERSION                    = 0x00010005
     29   BASE_NAME                      = PeiCryptLib
     30   MODULE_UNI_FILE                = PeiCryptLib.uni
     31   FILE_GUID                      = 9a2a4375-194c-4e97-9f67-547ec98d96ca
     32   MODULE_TYPE                    = PEIM
     33   VERSION_STRING                 = 1.0
     34   LIBRARY_CLASS                  = BaseCryptLib|PEIM PEI_CORE
     35 
     36 #

     37 # The following information is for reference only and not required by the build tools.

     38 #

     39 #  VALID_ARCHITECTURES           = IA32 X64

     40 #

     41 
     42 [Sources]
     43   Hash/CryptMd4Null.c
     44   Hash/CryptMd5.c
     45   Hash/CryptSha1.c
     46   Hash/CryptSha256.c
     47   Hash/CryptSha512Null.c
     48   Hmac/CryptHmacMd5Null.c
     49   Hmac/CryptHmacSha1Null.c
     50   Hmac/CryptHmacSha256Null.c
     51   Cipher/CryptAesNull.c
     52   Cipher/CryptTdesNull.c
     53   Cipher/CryptArc4Null.c
     54 
     55   Pk/CryptRsaBasic.c
     56   Pk/CryptRsaExtNull.c
     57   Pk/CryptPkcs5Pbkdf2Null.c
     58   Pk/CryptPkcs7SignNull.c
     59   Pk/CryptPkcs7Verify.c
     60 
     61   Pk/CryptDhNull.c
     62   Pk/CryptX509Null.c
     63   Pk/CryptAuthenticodeNull.c
     64   Pk/CryptTsNull.c
     65   Pem/CryptPemNull.c
     66 
     67   Rand/CryptRandNull.c
     68 
     69   SysCall/CrtWrapper.c
     70   SysCall/ConstantTimeClock.c
     71   SysCall/BaseMemAllocation.c
     72 
     73 [Packages]
     74   MdePkg/MdePkg.dec
     75   CryptoPkg/CryptoPkg.dec
     76 
     77 [LibraryClasses]
     78   BaseLib
     79   BaseMemoryLib
     80   MemoryAllocationLib
     81   DebugLib
     82   OpensslLib
     83   IntrinsicLib
     84 
     85 #

     86 # Remove these [BuildOptions] after this library is cleaned up

     87 #

     88 [BuildOptions]
     89   GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
     90 
     91   # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT

     92   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"

     93   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
     94