## @file
# BaseCryptLib UnitTest built for execution in UEFI Shell.
#
# Copyright (c) Microsoft Corporation.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION    = 0x00010006
  BASE_NAME      = BaseCryptLibUnitTestShell
  FILE_GUID      = ed54ee8c-ef7a-41f2-83d5-0e0d4cd88c21
  MODULE_TYPE    = UEFI_APPLICATION
  VERSION_STRING = 1.0
  ENTRY_POINT    = DxeEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  UnitTestMain.c
  BaseCryptLibUnitTests.c
  TestBaseCryptLib.h
  HashTests.c
  HmacTests.c
  BlockCipherTests.c
  RsaTests.c
  RsaPkcs7Tests.c
  Pkcs5Pbkdf2Tests.c
  AuthenticodeTests.c
  TSTests.c
  DhTests.c
  RandTests.c
  Pkcs7EkuTests.c
  OaepEncryptTests.c
  RsaPssTests.c
  HkdfTests.c
  AeadAesGcmTests.c
  BnTests.c
  EcTests.c
  X509Tests.c

[Packages]
  MdePkg/MdePkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  UefiApplicationEntryPoint
  BaseLib
  DebugLib
  UnitTestLib
  PrintLib
  BaseCryptLib
