Add one new API (Pkcs5HashPassword) to provide PKCS#5 v2.0 PBKDF2 support (Password based encryption key derivation function, specified in RFC 2898). Also update the Cryptest utility to include the new API testing (with the test vector from RFC6070). Cc: Ting Ye <ting.ye@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qin Long <qin.long@intel.com> Reviewed-by: Ting Ye <ting.ye@intel.com>
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
## @file
 | 
						|
#  Cryptographic Library Instance for DXE_DRIVER.
 | 
						|
#
 | 
						|
#  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 - 2016, 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                      = BaseCryptLib
 | 
						|
  MODULE_UNI_FILE                = BaseCryptLib.uni
 | 
						|
  FILE_GUID                      = be3bb803-91b6-4da0-bd91-a8b21c18ca5d
 | 
						|
  MODULE_TYPE                    = DXE_DRIVER
 | 
						|
  VERSION_STRING                 = 1.0
 | 
						|
  LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER
 | 
						|
 | 
						|
#
 | 
						|
# The following information is for reference only and not required by the build tools.
 | 
						|
#
 | 
						|
#  VALID_ARCHITECTURES           = IA32 X64 IPF ARM AARCH64
 | 
						|
#
 | 
						|
 | 
						|
[Sources]
 | 
						|
  InternalCryptLib.h
 | 
						|
  Hash/CryptMd4.c
 | 
						|
  Hash/CryptMd5.c
 | 
						|
  Hash/CryptSha1.c
 | 
						|
  Hash/CryptSha256.c
 | 
						|
  Hash/CryptSha512.c
 | 
						|
  Hmac/CryptHmacMd5.c
 | 
						|
  Hmac/CryptHmacSha1.c
 | 
						|
  Hmac/CryptHmacSha256.c
 | 
						|
  Cipher/CryptAes.c
 | 
						|
  Cipher/CryptTdes.c
 | 
						|
  Cipher/CryptArc4.c
 | 
						|
  Pk/CryptRsaBasic.c
 | 
						|
  Pk/CryptRsaExt.c
 | 
						|
  Pk/CryptPkcs5Pbkdf2.c
 | 
						|
  Pk/CryptPkcs7Sign.c
 | 
						|
  Pk/CryptPkcs7Verify.c
 | 
						|
  Pk/CryptDh.c
 | 
						|
  Pk/CryptX509.c
 | 
						|
  Pk/CryptAuthenticode.c
 | 
						|
  Pk/CryptTs.c
 | 
						|
  Pem/CryptPem.c
 | 
						|
 | 
						|
  SysCall/CrtWrapper.c
 | 
						|
  SysCall/TimerWrapper.c
 | 
						|
  SysCall/BaseMemAllocation.c
 | 
						|
 | 
						|
[Sources.Ia32]
 | 
						|
  Rand/CryptRandTsc.c
 | 
						|
 | 
						|
[Sources.X64]
 | 
						|
  Rand/CryptRandTsc.c
 | 
						|
 | 
						|
[Sources.IPF]
 | 
						|
  Rand/CryptRandItc.c
 | 
						|
 | 
						|
[Sources.ARM]
 | 
						|
  Rand/CryptRand.c
 | 
						|
 | 
						|
[Sources.AARCH64]
 | 
						|
  Rand/CryptRand.c
 | 
						|
 | 
						|
[Packages]
 | 
						|
  MdePkg/MdePkg.dec
 | 
						|
  CryptoPkg/CryptoPkg.dec
 | 
						|
 | 
						|
[LibraryClasses]
 | 
						|
  BaseLib
 | 
						|
  BaseMemoryLib
 | 
						|
  MemoryAllocationLib
 | 
						|
  UefiRuntimeServicesTableLib
 | 
						|
  DebugLib
 | 
						|
  OpensslLib
 | 
						|
  IntrinsicLib
 | 
						|
  PrintLib
 | 
						|
 | 
						|
#
 | 
						|
# Remove these [BuildOptions] after this library is cleaned up
 | 
						|
#
 | 
						|
[BuildOptions]
 | 
						|
  # suppress the following warnings so we do not break the build with warnings-as-errors:
 | 
						|
  #   C4305: truncation from type1 to type2 (Introduced by RFC3161 Timestamp ASN.1 declarations)
 | 
						|
  MSFT:*_*_*_CC_FLAGS = /wd4305
 | 
						|
  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
 | 
						|
 | 
						|
  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
 | 
						|
  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
 | 
						|
  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
 |