Home | History | Annotate | Download | only in BaseCryptLib
      1 ## @file

      2 #  Cryptographic Library Instance for DXE_DRIVER.

      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 #  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>

     10 #  This program and the accompanying materials

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

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

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

     14 #

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

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

     17 #

     18 ##

     19 
     20 [Defines]
     21   INF_VERSION                    = 0x00010005
     22   BASE_NAME                      = BaseCryptLib
     23   MODULE_UNI_FILE                = BaseCryptLib.uni
     24   FILE_GUID                      = be3bb803-91b6-4da0-bd91-a8b21c18ca5d
     25   MODULE_TYPE                    = DXE_DRIVER
     26   VERSION_STRING                 = 1.0
     27   LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER
     28 
     29 #

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

     31 #

     32 #  VALID_ARCHITECTURES           = IA32 X64 IPF ARM AARCH64

     33 #

     34 
     35 [Sources]
     36   InternalCryptLib.h
     37   Hash/CryptMd4.c
     38   Hash/CryptMd5.c
     39   Hash/CryptSha1.c
     40   Hash/CryptSha256.c
     41   Hash/CryptSha512.c
     42   Hmac/CryptHmacMd5.c
     43   Hmac/CryptHmacSha1.c
     44   Hmac/CryptHmacSha256.c
     45   Cipher/CryptAes.c
     46   Cipher/CryptTdes.c
     47   Cipher/CryptArc4.c
     48   Pk/CryptRsaBasic.c
     49   Pk/CryptRsaExt.c
     50   Pk/CryptPkcs5Pbkdf2.c
     51   Pk/CryptPkcs7Sign.c
     52   Pk/CryptPkcs7Verify.c
     53   Pk/CryptDh.c
     54   Pk/CryptX509.c
     55   Pk/CryptAuthenticode.c
     56   Pk/CryptTs.c
     57   Pem/CryptPem.c
     58 
     59   SysCall/CrtWrapper.c
     60   SysCall/TimerWrapper.c
     61   SysCall/BaseMemAllocation.c
     62 
     63 [Sources.Ia32]
     64   Rand/CryptRandTsc.c
     65 
     66 [Sources.X64]
     67   Rand/CryptRandTsc.c
     68 
     69 [Sources.IPF]
     70   Rand/CryptRandItc.c
     71 
     72 [Sources.ARM]
     73   Rand/CryptRand.c
     74 
     75 [Sources.AARCH64]
     76   Rand/CryptRand.c
     77 
     78 [Packages]
     79   MdePkg/MdePkg.dec
     80   CryptoPkg/CryptoPkg.dec
     81 
     82 [LibraryClasses]
     83   BaseLib
     84   BaseMemoryLib
     85   MemoryAllocationLib
     86   UefiRuntimeServicesTableLib
     87   DebugLib
     88   OpensslLib
     89   IntrinsicLib
     90   PrintLib
     91 
     92 #

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

     94 #

     95 [BuildOptions]
     96   # suppress the following warnings so we do not break the build with warnings-as-errors:

     97   #   C4305: truncation from type1 to type2 (Introduced by RFC3161 Timestamp ASN.1 declarations)

     98   MSFT:*_*_*_CC_FLAGS = /wd4305
     99   GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
    100 
    101   # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT

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

    103   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
    104