mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 23:24:03 +02:00
Revert "SecurityPkg: introduce the SM3 digest algorithm"
This reverts commit 06dd5863b66edd9908834371e07fb4e11383c172. The reason is that said commit directly depends on commit 49c1e683c452 ("MdePkg/Protocol/Hash: introduce GUID for SM3", 2019-07-03), and the latter commit is going to be reverted, due to its review process not having followed established edk2 norms. Cc: Chao Zhang <chao.b.zhang@intel.com> Cc: Imran Desai <imran.desai@intel.com> Cc: Jian Wang <jian.j.wang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1781 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
This commit is contained in:
parent
29a1a6eff7
commit
a9faafb156
@ -137,7 +137,6 @@ EFI_STATUS
|
|||||||
#define HASH_ALGORITHM_SHA256_GUID EFI_HASH_ALGORITHM_SHA256_GUID
|
#define HASH_ALGORITHM_SHA256_GUID EFI_HASH_ALGORITHM_SHA256_GUID
|
||||||
#define HASH_ALGORITHM_SHA384_GUID EFI_HASH_ALGORITHM_SHA384_GUID
|
#define HASH_ALGORITHM_SHA384_GUID EFI_HASH_ALGORITHM_SHA384_GUID
|
||||||
#define HASH_ALGORITHM_SHA512_GUID EFI_HASH_ALGORITHM_SHA512_GUID
|
#define HASH_ALGORITHM_SHA512_GUID EFI_HASH_ALGORITHM_SHA512_GUID
|
||||||
#define HASH_ALGORITHM_SM3_256_GUID EFI_HASH_ALGORITHM_SM3_256_GUID
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
EFI_GUID HashGuid;
|
EFI_GUID HashGuid;
|
||||||
|
@ -1,150 +0,0 @@
|
|||||||
/** @file
|
|
||||||
BaseCrypto SM3 hash instance library.
|
|
||||||
It can be registered to BaseCrypto router, to serve as hash engine.
|
|
||||||
|
|
||||||
Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
||||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
||||||
**/
|
|
||||||
|
|
||||||
#include <PiPei.h>
|
|
||||||
#include <Library/BaseLib.h>
|
|
||||||
#include <Library/BaseMemoryLib.h>
|
|
||||||
#include <Library/Tpm2CommandLib.h>
|
|
||||||
#include <Library/DebugLib.h>
|
|
||||||
#include <Library/BaseCryptLib.h>
|
|
||||||
#include <Library/MemoryAllocationLib.h>
|
|
||||||
#include <Library/HashLib.h>
|
|
||||||
|
|
||||||
/**
|
|
||||||
The function set SM3 to digest list.
|
|
||||||
|
|
||||||
@param DigestList digest list
|
|
||||||
@param Sm3Digest SM3 digest
|
|
||||||
**/
|
|
||||||
VOID
|
|
||||||
Tpm2SetSm3ToDigestList (
|
|
||||||
IN TPML_DIGEST_VALUES *DigestList,
|
|
||||||
IN UINT8 *Sm3Digest
|
|
||||||
)
|
|
||||||
{
|
|
||||||
DigestList->count = 1;
|
|
||||||
DigestList->digests[0].hashAlg = TPM_ALG_SM3_256;
|
|
||||||
CopyMem (
|
|
||||||
DigestList->digests[0].digest.sm3_256,
|
|
||||||
Sm3Digest,
|
|
||||||
SM3_256_DIGEST_SIZE
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Start hash sequence.
|
|
||||||
|
|
||||||
@param HashHandle Hash handle.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Hash sequence start and HandleHandle returned.
|
|
||||||
@retval EFI_OUT_OF_RESOURCES No enough resource to start hash.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
Sm3HashInit (
|
|
||||||
OUT HASH_HANDLE *HashHandle
|
|
||||||
)
|
|
||||||
{
|
|
||||||
VOID *Sm3Ctx;
|
|
||||||
UINTN CtxSize;
|
|
||||||
|
|
||||||
CtxSize = Sm3GetContextSize ();
|
|
||||||
Sm3Ctx = AllocatePool (CtxSize);
|
|
||||||
if (Sm3Ctx == NULL) {
|
|
||||||
return EFI_OUT_OF_RESOURCES;
|
|
||||||
}
|
|
||||||
|
|
||||||
Sm3Init (Sm3Ctx);
|
|
||||||
|
|
||||||
*HashHandle = (HASH_HANDLE)Sm3Ctx;
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Update hash sequence data.
|
|
||||||
|
|
||||||
@param HashHandle Hash handle.
|
|
||||||
@param DataToHash Data to be hashed.
|
|
||||||
@param DataToHashLen Data size.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Hash sequence updated.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
Sm3HashUpdate (
|
|
||||||
IN HASH_HANDLE HashHandle,
|
|
||||||
IN VOID *DataToHash,
|
|
||||||
IN UINTN DataToHashLen
|
|
||||||
)
|
|
||||||
{
|
|
||||||
VOID *Sm3Ctx;
|
|
||||||
|
|
||||||
Sm3Ctx = (VOID *)HashHandle;
|
|
||||||
Sm3Update (Sm3Ctx, DataToHash, DataToHashLen);
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Complete hash sequence complete.
|
|
||||||
|
|
||||||
@param HashHandle Hash handle.
|
|
||||||
@param DigestList Digest list.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Hash sequence complete and DigestList is returned.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
Sm3HashFinal (
|
|
||||||
IN HASH_HANDLE HashHandle,
|
|
||||||
OUT TPML_DIGEST_VALUES *DigestList
|
|
||||||
)
|
|
||||||
{
|
|
||||||
UINT8 Digest[SM3_256_DIGEST_SIZE];
|
|
||||||
VOID *Sm3Ctx;
|
|
||||||
|
|
||||||
Sm3Ctx = (VOID *)HashHandle;
|
|
||||||
Sm3Final (Sm3Ctx, Digest);
|
|
||||||
|
|
||||||
FreePool (Sm3Ctx);
|
|
||||||
|
|
||||||
Tpm2SetSm3ToDigestList (DigestList, Digest);
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
HASH_INTERFACE mSm3InternalHashInstance = {
|
|
||||||
HASH_ALGORITHM_SM3_256_GUID,
|
|
||||||
Sm3HashInit,
|
|
||||||
Sm3HashUpdate,
|
|
||||||
Sm3HashFinal,
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
The function register SM3 instance.
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS SM3 instance is registered, or system dose not support register SM3 instance
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
EFIAPI
|
|
||||||
HashInstanceLibSm3Constructor (
|
|
||||||
VOID
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
|
|
||||||
Status = RegisterHashInterfaceLib (&mSm3InternalHashInstance);
|
|
||||||
if ((Status == EFI_SUCCESS) || (Status == EFI_UNSUPPORTED)) {
|
|
||||||
//
|
|
||||||
// Unsupported means platform policy does not need this instance enabled.
|
|
||||||
//
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
|
||||||
return Status;
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
## @file
|
|
||||||
# Provides BaseCrypto SM3 hash service
|
|
||||||
#
|
|
||||||
# This library can be registered to BaseCrypto router, to serve as hash engine.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
||||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
||||||
#
|
|
||||||
##
|
|
||||||
|
|
||||||
[Defines]
|
|
||||||
INF_VERSION = 0x00010005
|
|
||||||
BASE_NAME = HashInstanceLibSm3
|
|
||||||
MODULE_UNI_FILE = HashInstanceLibSm3.uni
|
|
||||||
FILE_GUID = C5865D5D-9ACE-39FB-DC7C-0511891D40F9
|
|
||||||
MODULE_TYPE = BASE
|
|
||||||
VERSION_STRING = 1.0
|
|
||||||
LIBRARY_CLASS = NULL
|
|
||||||
CONSTRUCTOR = HashInstanceLibSm3Constructor
|
|
||||||
|
|
||||||
#
|
|
||||||
# The following information is for reference only and not required by the build tools.
|
|
||||||
#
|
|
||||||
# VALID_ARCHITECTURES = IA32 X64
|
|
||||||
#
|
|
||||||
|
|
||||||
[Sources]
|
|
||||||
HashInstanceLibSm3.c
|
|
||||||
|
|
||||||
[Packages]
|
|
||||||
MdePkg/MdePkg.dec
|
|
||||||
SecurityPkg/SecurityPkg.dec
|
|
||||||
CryptoPkg/CryptoPkg.dec
|
|
||||||
|
|
||||||
[LibraryClasses]
|
|
||||||
BaseLib
|
|
||||||
BaseMemoryLib
|
|
||||||
DebugLib
|
|
||||||
Tpm2CommandLib
|
|
||||||
MemoryAllocationLib
|
|
||||||
BaseCryptLib
|
|
@ -1,15 +0,0 @@
|
|||||||
// /** @file
|
|
||||||
// Provides BaseCrypto SM3 hash service
|
|
||||||
//
|
|
||||||
// This library can be registered to BaseCrypto router, to serve as hash engine.
|
|
||||||
//
|
|
||||||
// Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
||||||
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
||||||
//
|
|
||||||
// **/
|
|
||||||
|
|
||||||
|
|
||||||
#string STR_MODULE_ABSTRACT #language en-US "Provides BaseCrypto SM3 hash service"
|
|
||||||
|
|
||||||
#string STR_MODULE_DESCRIPTION #language en-US "This library can be registered to BaseCrypto router, to serve as hash engine."
|
|
||||||
|
|
@ -226,7 +226,6 @@
|
|||||||
SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
||||||
SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
||||||
SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
||||||
SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
|
||||||
|
|
||||||
SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf {
|
SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf {
|
||||||
<LibraryClasses>
|
<LibraryClasses>
|
||||||
@ -241,7 +240,6 @@
|
|||||||
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
|
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
|
||||||
@ -252,7 +250,6 @@
|
|||||||
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
|
||||||
NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
|
|
||||||
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
||||||
}
|
}
|
||||||
SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf {
|
SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user