/** @file Diffie-Hellman Wrapper Implementation which does not provide real capabilities. Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
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; }