CryptoPkg: Add Null instance of the BaseCryptLib class
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>
This commit is contained in:
committed by
Michael D Kinney
parent
20c082e8d7
commit
d95de082da
143
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptMd4Null.c
Normal file
143
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptMd4Null.c
Normal file
@@ -0,0 +1,143 @@
|
||||
/** @file
|
||||
MD4 Digest 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"
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for MD4 hash
|
||||
operations.
|
||||
|
||||
Return zero to indicate this interface is not supported.
|
||||
|
||||
@retval 0 This interface is not supported.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Md4GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Md4Context as MD4 hash context for
|
||||
subsequent use.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[out] Md4Context Pointer to MD4 context being initialized.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md4Init (
|
||||
OUT VOID *Md4Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing MD4 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Md4Context Pointer to MD4 context being copied.
|
||||
@param[out] NewMd4Context Pointer to new MD4 context.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md4Duplicate (
|
||||
IN CONST VOID *Md4Context,
|
||||
OUT VOID *NewMd4Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates MD4 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Md4Context Pointer to the MD4 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md4Update (
|
||||
IN OUT VOID *Md4Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the MD4 digest value.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Md4Context Pointer to the MD4 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the MD4 digest
|
||||
value (16 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md4Final (
|
||||
IN OUT VOID *Md4Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the MD4 message digest of a input data buffer.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the MD4 digest
|
||||
value (16 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md4HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
165
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptMd5Null.c
Normal file
165
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptMd5Null.c
Normal file
@@ -0,0 +1,165 @@
|
||||
/** @file
|
||||
|
||||
MD5 Digest Wrapper Null Implementation.
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "InternalCryptLib.h"
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for MD5 hash operations.
|
||||
|
||||
@return The size, in bytes, of the context buffer required for MD5 hash operations.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Md5GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Md5Context as MD5 hash context for
|
||||
subsequent use.
|
||||
|
||||
If Md5Context is NULL, then return FALSE.
|
||||
|
||||
@param[out] Md5Context Pointer to MD5 context being initialized.
|
||||
|
||||
@retval TRUE MD5 context initialization succeeded.
|
||||
@retval FALSE MD5 context initialization failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md5Init (
|
||||
OUT VOID *Md5Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing MD5 context.
|
||||
|
||||
If Md5Context is NULL, then return FALSE.
|
||||
If NewMd5Context is NULL, then return FALSE.
|
||||
|
||||
@param[in] Md5Context Pointer to MD5 context being copied.
|
||||
@param[out] NewMd5Context Pointer to new MD5 context.
|
||||
|
||||
@retval TRUE MD5 context copy succeeded.
|
||||
@retval FALSE MD5 context copy failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md5Duplicate (
|
||||
IN CONST VOID *Md5Context,
|
||||
OUT VOID *NewMd5Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates MD5 context.
|
||||
|
||||
This function performs MD5 digest on a data buffer of the specified size.
|
||||
It can be called multiple times to compute the digest of long or discontinuous data streams.
|
||||
MD5 context should be already correctly intialized by Md5Init(), and should not be finalized
|
||||
by Md5Final(). Behavior with invalid context is undefined.
|
||||
|
||||
If Md5Context is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Md5Context Pointer to the MD5 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval TRUE MD5 data digest succeeded.
|
||||
@retval FALSE MD5 data digest failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md5Update (
|
||||
IN OUT VOID *Md5Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the MD5 digest value.
|
||||
|
||||
This function completes MD5 hash computation and retrieves the digest value into
|
||||
the specified memory. After this function has been called, the MD5 context cannot
|
||||
be used again.
|
||||
MD5 context should be already correctly intialized by Md5Init(), and should not be
|
||||
finalized by Md5Final(). Behavior with invalid MD5 context is undefined.
|
||||
|
||||
If Md5Context is NULL, then return FALSE.
|
||||
If HashValue is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Md5Context Pointer to the MD5 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the MD5 digest
|
||||
value (16 bytes).
|
||||
|
||||
@retval TRUE MD5 digest computation succeeded.
|
||||
@retval FALSE MD5 digest computation failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md5Final (
|
||||
IN OUT VOID *Md5Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the MD5 message digest of a input data buffer.
|
||||
|
||||
This function performs the MD5 message digest of a given data buffer, and places
|
||||
the digest value into the specified memory.
|
||||
|
||||
If this interface is not supported, then return FALSE.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the MD5 digest
|
||||
value (16 bytes).
|
||||
|
||||
@retval TRUE MD5 digest computation succeeded.
|
||||
@retval FALSE MD5 digest computation failed.
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Md5HashAll(
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
return FALSE;
|
||||
}
|
167
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha1Null.c
Normal file
167
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha1Null.c
Normal file
@@ -0,0 +1,167 @@
|
||||
/** @file
|
||||
SHA-1 Digest Wrapper Null Implementation.
|
||||
|
||||
Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "InternalCryptLib.h"
|
||||
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for SHA-1 hash operations.
|
||||
|
||||
@return The size, in bytes, of the context buffer required for SHA-1 hash operations.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Sha1GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
//
|
||||
// Retrieves SHA Context Size
|
||||
//
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Sha1Context as SHA-1 hash context for
|
||||
subsequent use.
|
||||
|
||||
If Sha1Context is NULL, then return FALSE.
|
||||
|
||||
@param[out] Sha1Context Pointer to SHA-1 context being initialized.
|
||||
|
||||
@retval TRUE SHA-1 context initialization succeeded.
|
||||
@retval FALSE SHA-1 context initialization failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha1Init (
|
||||
OUT VOID *Sha1Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing SHA-1 context.
|
||||
|
||||
If Sha1Context is NULL, then return FALSE.
|
||||
If NewSha1Context is NULL, then return FALSE.
|
||||
|
||||
@param[in] Sha1Context Pointer to SHA-1 context being copied.
|
||||
@param[out] NewSha1Context Pointer to new SHA-1 context.
|
||||
|
||||
@retval TRUE SHA-1 context copy succeeded.
|
||||
@retval FALSE SHA-1 context copy failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha1Duplicate (
|
||||
IN CONST VOID *Sha1Context,
|
||||
OUT VOID *NewSha1Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates SHA-1 context.
|
||||
|
||||
This function performs SHA-1 digest on a data buffer of the specified size.
|
||||
It can be called multiple times to compute the digest of long or discontinuous data streams.
|
||||
SHA-1 context should be already correctly initialized by Sha1Init(), and should not be finalized
|
||||
by Sha1Final(). Behavior with invalid context is undefined.
|
||||
|
||||
If Sha1Context is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sha1Context Pointer to the SHA-1 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval TRUE SHA-1 data digest succeeded.
|
||||
@retval FALSE SHA-1 data digest failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha1Update (
|
||||
IN OUT VOID *Sha1Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the SHA-1 digest value.
|
||||
|
||||
This function completes SHA-1 hash computation and retrieves the digest value into
|
||||
the specified memory. After this function has been called, the SHA-1 context cannot
|
||||
be used again.
|
||||
SHA-1 context should be already correctly initialized by Sha1Init(), and should not be
|
||||
finalized by Sha1Final(). Behavior with invalid SHA-1 context is undefined.
|
||||
|
||||
If Sha1Context is NULL, then return FALSE.
|
||||
If HashValue is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sha1Context Pointer to the SHA-1 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-1 digest
|
||||
value (20 bytes).
|
||||
|
||||
@retval TRUE SHA-1 digest computation succeeded.
|
||||
@retval FALSE SHA-1 digest computation failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha1Final (
|
||||
IN OUT VOID *Sha1Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the SHA-1 message digest of a input data buffer.
|
||||
|
||||
This function performs the SHA-1 message digest of a given data buffer, and places
|
||||
the digest value into the specified memory.
|
||||
|
||||
If this interface is not supported, then return FALSE.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-1 digest
|
||||
value (20 bytes).
|
||||
|
||||
@retval TRUE SHA-1 digest computation succeeded.
|
||||
@retval FALSE SHA-1 digest computation failed.
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha1HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
162
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha256Null.c
Normal file
162
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha256Null.c
Normal file
@@ -0,0 +1,162 @@
|
||||
/** @file
|
||||
SHA-256 Digest Wrapper Null Implementation.
|
||||
|
||||
Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "InternalCryptLib.h"
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for SHA-256 hash operations.
|
||||
|
||||
@return The size, in bytes, of the context buffer required for SHA-256 hash operations.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Sha256GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Sha256Context as SHA-256 hash context for
|
||||
subsequent use.
|
||||
|
||||
If Sha256Context is NULL, then return FALSE.
|
||||
|
||||
@param[out] Sha256Context Pointer to SHA-256 context being initialized.
|
||||
|
||||
@retval TRUE SHA-256 context initialization succeeded.
|
||||
@retval FALSE SHA-256 context initialization failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha256Init (
|
||||
OUT VOID *Sha256Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing SHA-256 context.
|
||||
|
||||
If Sha256Context is NULL, then return FALSE.
|
||||
If NewSha256Context is NULL, then return FALSE.
|
||||
|
||||
@param[in] Sha256Context Pointer to SHA-256 context being copied.
|
||||
@param[out] NewSha256Context Pointer to new SHA-256 context.
|
||||
|
||||
@retval TRUE SHA-256 context copy succeeded.
|
||||
@retval FALSE SHA-256 context copy failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha256Duplicate (
|
||||
IN CONST VOID *Sha256Context,
|
||||
OUT VOID *NewSha256Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates SHA-256 context.
|
||||
|
||||
This function performs SHA-256 digest on a data buffer of the specified size.
|
||||
It can be called multiple times to compute the digest of long or discontinuous data streams.
|
||||
SHA-256 context should be already correctly initialized by Sha256Init(), and should not be finalized
|
||||
by Sha256Final(). Behavior with invalid context is undefined.
|
||||
|
||||
If Sha256Context is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sha256Context Pointer to the SHA-256 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval TRUE SHA-256 data digest succeeded.
|
||||
@retval FALSE SHA-256 data digest failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha256Update (
|
||||
IN OUT VOID *Sha256Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the SHA-256 digest value.
|
||||
|
||||
This function completes SHA-256 hash computation and retrieves the digest value into
|
||||
the specified memory. After this function has been called, the SHA-256 context cannot
|
||||
be used again.
|
||||
SHA-256 context should be already correctly initialized by Sha256Init(), and should not be
|
||||
finalized by Sha256Final(). Behavior with invalid SHA-256 context is undefined.
|
||||
|
||||
If Sha256Context is NULL, then return FALSE.
|
||||
If HashValue is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sha256Context Pointer to the SHA-256 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-256 digest
|
||||
value (32 bytes).
|
||||
|
||||
@retval TRUE SHA-256 digest computation succeeded.
|
||||
@retval FALSE SHA-256 digest computation failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha256Final (
|
||||
IN OUT VOID *Sha256Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the SHA-256 message digest of a input data buffer.
|
||||
|
||||
This function performs the SHA-256 message digest of a given data buffer, and places
|
||||
the digest value into the specified memory.
|
||||
|
||||
If this interface is not supported, then return FALSE.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-256 digest
|
||||
value (32 bytes).
|
||||
|
||||
@retval TRUE SHA-256 digest computation succeeded.
|
||||
@retval FALSE SHA-256 digest computation failed.
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha256HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
275
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha512Null.c
Normal file
275
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSha512Null.c
Normal file
@@ -0,0 +1,275 @@
|
||||
/** @file
|
||||
SHA-384 and SHA-512 Digest Wrapper Implementations which does not provide real capabilities.
|
||||
|
||||
Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "InternalCryptLib.h"
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for SHA-384 hash operations.
|
||||
|
||||
Return zero to indicate this interface is not supported.
|
||||
|
||||
@retval 0 This interface is not supported.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Sha384GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Sha384Context as SHA-384 hash context for
|
||||
subsequent use.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[out] Sha384Context Pointer to SHA-384 context being initialized.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha384Init (
|
||||
OUT VOID *Sha384Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing SHA-384 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Sha384Context Pointer to SHA-384 context being copied.
|
||||
@param[out] NewSha384Context Pointer to new SHA-384 context.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha384Duplicate (
|
||||
IN CONST VOID *Sha384Context,
|
||||
OUT VOID *NewSha384Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates SHA-384 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Sha384Context Pointer to the SHA-384 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha384Update (
|
||||
IN OUT VOID *Sha384Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the SHA-384 digest value.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Sha384Context Pointer to the SHA-384 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-384 digest
|
||||
value (48 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha384Final (
|
||||
IN OUT VOID *Sha384Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the SHA-384 message digest of a input data buffer.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-384 digest
|
||||
value (48 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha384HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for SHA-512 hash operations.
|
||||
|
||||
Return zero to indicate this interface is not supported.
|
||||
|
||||
@retval 0 This interface is not supported.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Sha512GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Sha512Context as SHA-512 hash context for
|
||||
subsequent use.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[out] Sha512Context Pointer to SHA-512 context being initialized.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha512Init (
|
||||
OUT VOID *Sha512Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing SHA-512 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Sha512Context Pointer to SHA-512 context being copied.
|
||||
@param[out] NewSha512Context Pointer to new SHA-512 context.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha512Duplicate (
|
||||
IN CONST VOID *Sha512Context,
|
||||
OUT VOID *NewSha512Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates SHA-512 context.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Sha512Context Pointer to the SHA-512 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha512Update (
|
||||
IN OUT VOID *Sha512Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the SHA-512 digest value.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in, out] Sha512Context Pointer to the SHA-512 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-512 digest
|
||||
value (64 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha512Final (
|
||||
IN OUT VOID *Sha512Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the SHA-512 message digest of a input data buffer.
|
||||
|
||||
Return FALSE to indicate this interface is not supported.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SHA-512 digest
|
||||
value (64 bytes).
|
||||
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sha512HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
164
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSm3Null.c
Normal file
164
CryptoPkg/Library/BaseCryptLibNull/Hash/CryptSm3Null.c
Normal file
@@ -0,0 +1,164 @@
|
||||
/** @file
|
||||
SM3 Digest Wrapper Null Implementation.
|
||||
|
||||
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include "InternalCryptLib.h"
|
||||
|
||||
/**
|
||||
Retrieves the size, in bytes, of the context buffer required for SM3 hash operations.
|
||||
|
||||
@return The size, in bytes, of the context buffer required for SM3 hash operations.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
Sm3GetContextSize (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
Initializes user-supplied memory pointed by Sm3Context as SM3 hash context for
|
||||
subsequent use.
|
||||
|
||||
If Sm3Context is NULL, then return FALSE.
|
||||
|
||||
@param[out] Sm3Context Pointer to SM3 context being initialized.
|
||||
|
||||
@retval TRUE SM3 context initialization succeeded.
|
||||
@retval FALSE SM3 context initialization failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sm3Init (
|
||||
OUT VOID *Sm3Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Makes a copy of an existing SM3 context.
|
||||
|
||||
If Sm3Context is NULL, then return FALSE.
|
||||
If NewSm3Context is NULL, then return FALSE.
|
||||
If this interface is not supported, then return FALSE.
|
||||
|
||||
@param[in] Sm3Context Pointer to SM3 context being copied.
|
||||
@param[out] NewSm3Context Pointer to new SM3 context.
|
||||
|
||||
@retval TRUE SM3 context copy succeeded.
|
||||
@retval FALSE SM3 context copy failed.
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sm3Duplicate (
|
||||
IN CONST VOID *Sm3Context,
|
||||
OUT VOID *NewSm3Context
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Digests the input data and updates SM3 context.
|
||||
|
||||
This function performs SM3 digest on a data buffer of the specified size.
|
||||
It can be called multiple times to compute the digest of long or discontinuous data streams.
|
||||
SM3 context should be already correctly initialized by Sm3Init(), and should not be finalized
|
||||
by Sm3Final(). Behavior with invalid context is undefined.
|
||||
|
||||
If Sm3Context is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sm3Context Pointer to the SM3 context.
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
|
||||
@retval TRUE SM3 data digest succeeded.
|
||||
@retval FALSE SM3 data digest failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sm3Update (
|
||||
IN OUT VOID *Sm3Context,
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Completes computation of the SM3 digest value.
|
||||
|
||||
This function completes SM3 hash computation and retrieves the digest value into
|
||||
the specified memory. After this function has been called, the SM3 context cannot
|
||||
be used again.
|
||||
SM3 context should be already correctly initialized by Sm3Init(), and should not be
|
||||
finalized by Sm3Final(). Behavior with invalid SM3 context is undefined.
|
||||
|
||||
If Sm3Context is NULL, then return FALSE.
|
||||
If HashValue is NULL, then return FALSE.
|
||||
|
||||
@param[in, out] Sm3Context Pointer to the SM3 context.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SM3 digest
|
||||
value (32 bytes).
|
||||
|
||||
@retval TRUE SM3 digest computation succeeded.
|
||||
@retval FALSE SM3 digest computation failed.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sm3Final (
|
||||
IN OUT VOID *Sm3Context,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
Computes the SM3 message digest of a input data buffer.
|
||||
|
||||
This function performs the SM3 message digest of a given data buffer, and places
|
||||
the digest value into the specified memory.
|
||||
|
||||
If this interface is not supported, then return FALSE.
|
||||
|
||||
@param[in] Data Pointer to the buffer containing the data to be hashed.
|
||||
@param[in] DataSize Size of Data buffer in bytes.
|
||||
@param[out] HashValue Pointer to a buffer that receives the SM3 digest
|
||||
value (32 bytes).
|
||||
|
||||
@retval TRUE SM3 digest computation succeeded.
|
||||
@retval FALSE SM3 digest computation failed.
|
||||
@retval FALSE This interface is not supported.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
Sm3HashAll (
|
||||
IN CONST VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT8 *HashValue
|
||||
)
|
||||
{
|
||||
ASSERT (FALSE);
|
||||
return FALSE;
|
||||
}
|
Reference in New Issue
Block a user