## @file
#  This library doesn't produce any library class. The constructor function uses 
#  ExtractGuidedSectionLib service to register an RSA 2048 SHA 256 guided section handler
#  that parses RSA 2048 SHA 256 encapsulation section and extracts raw data.
#
#  It uses the BaseCrypyLib based on OpenSSL to authenticate the signature.
#
# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiRsa2048Sha256GuidedSectionExtractLib
  FILE_GUID                      = FD5F2C91-4878-4007-BBA1-1B91DD325438
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|PEI_CORE PEIM
  CONSTRUCTOR                    = PeiRsa2048Sha256GuidedSectionExtractLibConstructor
  MODULE_UNI_FILE                = PeiRsa2048Sha256GuidedSectionExtractLib.uni

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Sources]
  PeiRsa2048Sha256GuidedSectionExtractLib.c

[Packages]
  MdePkg/MdePkg.dec
  CryptoPkg/CryptoPkg.dec
  SecurityPkg/SecurityPkg.dec

[LibraryClasses]
  ExtractGuidedSectionLib
  DebugLib
  BaseMemoryLib
  MemoryAllocationLib
  BaseCryptLib
  PcdLib
  PerformanceLib

[Pcd]  
  gEfiSecurityPkgTokenSpaceGuid.PcdRsa2048Sha256PublicKeyBuffer      ## SOMETIMES_CONSUMES
  
[Guids]
  gEfiCertTypeRsa2048Sha256Guid  ## PRODUCES     ## UNDEFINED  # Specifies RSA 2048 SHA 256 authentication algorithm.
  gEfiHashAlgorithmSha256Guid    ## SOMETIMES_CONSUMES ## UNDEFINED