## @file
#  Cryptographic Library Null Instance.
#
#  Caution: This module requires additional review when modified.
#  This library will have external input - signature.
#  This external input must be validated carefully to avoid security issues such as
#  buffer overflow or integer overflow.
#
#  Copyright (c) 2009 - 2022, Intel Corporation. All rights reserved.<BR>
#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#  Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseCryptLibNull
  MODULE_UNI_FILE                = BaseCryptLibNull.uni
  FILE_GUID                      = ba4b5ba1-0ea1-415a-896c-6caaf32146f3
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseCryptLib

[Sources]
  InternalCryptLib.h
  Hash/CryptMd5Null.c
  Hash/CryptSha1Null.c
  Hash/CryptSha256Null.c
  Hash/CryptSha512Null.c
  Hash/CryptSm3Null.c
  Hash/CryptParallelHashNull.c
  Hmac/CryptHmacNull.c
  Kdf/CryptHkdfNull.c
  Cipher/CryptAesNull.c
  Cipher/CryptAeadAesGcmNull.c
  Pk/CryptRsaBasicNull.c
  Pk/CryptRsaExtNull.c
  Pk/CryptPkcs1OaepNull.c
  Pk/CryptPkcs5Pbkdf2Null.c
  Pk/CryptPkcs7SignNull.c
  Pk/CryptPkcs7VerifyNull.c
  Pk/CryptPkcs7VerifyEkuNull.c
  Pk/CryptDhNull.c
  Pk/CryptX509Null.c
  Pk/CryptAuthenticodeNull.c
  Pk/CryptTsNull.c
  Pk/CryptEcNull.c
  Pem/CryptPemNull.c
  Rand/CryptRandNull.c
  Pk/CryptRsaPssNull.c
  Pk/CryptRsaPssSignNull.c
  Bn/CryptBnNull.c

[Packages]
  MdePkg/MdePkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  DebugLib
