https://bugzilla.tianocore.org/show_bug.cgi?id=2257 Add a Null instance of the BaseCryptLib class. This lib instance can be used as a template for new implementations of the BaseCryptLib class and can also be used to reduce CI build times for build checks that depend on the BaseCryptLib class. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			151 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  Diffie-Hellman Wrapper Implementation which does not provide
 | 
						|
  real capabilities.
 | 
						|
 | 
						|
Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
 | 
						|
SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#include "InternalCryptLib.h"
 | 
						|
 | 
						|
/**
 | 
						|
  Allocates and Initializes one Diffie-Hellman Context for subsequent use.
 | 
						|
 | 
						|
  @return  Pointer to the Diffie-Hellman Context that has been initialized.
 | 
						|
           If the interface is not supported, DhNew() returns NULL.
 | 
						|
 | 
						|
**/
 | 
						|
VOID *
 | 
						|
EFIAPI
 | 
						|
DhNew (
 | 
						|
  VOID
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
  return NULL;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
  Release the specified DH context.
 | 
						|
 | 
						|
  If the interface is not supported, then ASSERT().
 | 
						|
 | 
						|
  @param[in]  DhContext  Pointer to the DH context to be released.
 | 
						|
 | 
						|
**/
 | 
						|
VOID
 | 
						|
EFIAPI
 | 
						|
DhFree (
 | 
						|
  IN  VOID  *DhContext
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
  Generates DH parameter.
 | 
						|
 | 
						|
  Return FALSE to indicate this interface is not supported.
 | 
						|
 | 
						|
  @param[in, out]  DhContext    Pointer to the DH context.
 | 
						|
  @param[in]       Generator    Value of generator.
 | 
						|
  @param[in]       PrimeLength  Length in bits of prime to be generated.
 | 
						|
  @param[out]      Prime        Pointer to the buffer to receive the generated prime number.
 | 
						|
 | 
						|
  @retval FALSE  This interface is not supported.
 | 
						|
 | 
						|
**/
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
DhGenerateParameter (
 | 
						|
  IN OUT  VOID   *DhContext,
 | 
						|
  IN      UINTN  Generator,
 | 
						|
  IN      UINTN  PrimeLength,
 | 
						|
  OUT     UINT8  *Prime
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
  return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
  Sets generator and prime parameters for DH.
 | 
						|
 | 
						|
  Return FALSE to indicate this interface is not supported.
 | 
						|
 | 
						|
  @param[in, out]  DhContext    Pointer to the DH context.
 | 
						|
  @param[in]       Generator    Value of generator.
 | 
						|
  @param[in]       PrimeLength  Length in bits of prime to be generated.
 | 
						|
  @param[in]       Prime        Pointer to the prime number.
 | 
						|
 | 
						|
  @retval FALSE  This interface is not supported.
 | 
						|
 | 
						|
**/
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
DhSetParameter (
 | 
						|
  IN OUT  VOID         *DhContext,
 | 
						|
  IN      UINTN        Generator,
 | 
						|
  IN      UINTN        PrimeLength,
 | 
						|
  IN      CONST UINT8  *Prime
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
  return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
  Generates DH public key.
 | 
						|
 | 
						|
  Return FALSE to indicate this interface is not supported.
 | 
						|
 | 
						|
  @param[in, out]  DhContext      Pointer to the DH context.
 | 
						|
  @param[out]      PublicKey      Pointer to the buffer to receive generated public key.
 | 
						|
  @param[in, out]  PublicKeySize  On input, the size of PublicKey buffer in bytes.
 | 
						|
                                  On output, the size of data returned in PublicKey buffer in bytes.
 | 
						|
 | 
						|
  @retval FALSE  This interface is not supported.
 | 
						|
 | 
						|
**/
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
DhGenerateKey (
 | 
						|
  IN OUT  VOID   *DhContext,
 | 
						|
  OUT     UINT8  *PublicKey,
 | 
						|
  IN OUT  UINTN  *PublicKeySize
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
  return FALSE;
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
  Computes exchanged common key.
 | 
						|
 | 
						|
  Return FALSE to indicate this interface is not supported.
 | 
						|
 | 
						|
  @param[in, out]  DhContext          Pointer to the DH context.
 | 
						|
  @param[in]       PeerPublicKey      Pointer to the peer's public key.
 | 
						|
  @param[in]       PeerPublicKeySize  Size of peer's public key in bytes.
 | 
						|
  @param[out]      Key                Pointer to the buffer to receive generated key.
 | 
						|
  @param[in, out]  KeySize            On input, the size of Key buffer in bytes.
 | 
						|
                                      On output, the size of data returned in Key buffer in bytes.
 | 
						|
 | 
						|
  @retval FALSE  This interface is not supported.
 | 
						|
 | 
						|
**/
 | 
						|
BOOLEAN
 | 
						|
EFIAPI
 | 
						|
DhComputeKey (
 | 
						|
  IN OUT  VOID         *DhContext,
 | 
						|
  IN      CONST UINT8  *PeerPublicKey,
 | 
						|
  IN      UINTN        PeerPublicKeySize,
 | 
						|
  OUT     UINT8        *Key,
 | 
						|
  IN OUT  UINTN        *KeySize
 | 
						|
  )
 | 
						|
{
 | 
						|
  ASSERT (FALSE);
 | 
						|
  return FALSE;
 | 
						|
}
 |