From a9faafb1566d1c5d61ad818393e7cc5c1ac5266e Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Thu, 4 Jul 2019 11:20:27 +0200 Subject: [PATCH] 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 Cc: Imran Desai Cc: Jian Wang Cc: Jiewen Yao Cc: Leif Lindholm Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1781 Signed-off-by: Laszlo Ersek Reviewed-by: Leif Lindholm Reviewed-by: Philippe Mathieu-Daude --- SecurityPkg/Include/Library/HashLib.h | 1 - .../HashInstanceLibSm3/HashInstanceLibSm3.c | 150 ------------------ .../HashInstanceLibSm3/HashInstanceLibSm3.inf | 41 ----- .../HashInstanceLibSm3/HashInstanceLibSm3.uni | 15 -- SecurityPkg/SecurityPkg.dsc | 3 - 5 files changed, 210 deletions(-) delete mode 100644 SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c delete mode 100644 SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf delete mode 100644 SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni diff --git a/SecurityPkg/Include/Library/HashLib.h b/SecurityPkg/Include/Library/HashLib.h index a5b433d824..63f0839878 100644 --- a/SecurityPkg/Include/Library/HashLib.h +++ b/SecurityPkg/Include/Library/HashLib.h @@ -137,7 +137,6 @@ EFI_STATUS #define HASH_ALGORITHM_SHA256_GUID EFI_HASH_ALGORITHM_SHA256_GUID #define HASH_ALGORITHM_SHA384_GUID EFI_HASH_ALGORITHM_SHA384_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 { EFI_GUID HashGuid; diff --git a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c deleted file mode 100644 index 8fd9516211..0000000000 --- a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c +++ /dev/null @@ -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.
- SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include -#include -#include -#include -#include - -/** - 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; -} diff --git a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf deleted file mode 100644 index 781164d74e..0000000000 --- a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf +++ /dev/null @@ -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.
-# 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 diff --git a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni deleted file mode 100644 index 07a5c53d99..0000000000 --- a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni +++ /dev/null @@ -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.
-// 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." - diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc index aef2ac3a20..60f3b0110e 100644 --- a/SecurityPkg/SecurityPkg.dsc +++ b/SecurityPkg/SecurityPkg.dsc @@ -226,7 +226,6 @@ SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf - SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf { @@ -241,7 +240,6 @@ NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf - NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf } SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf { @@ -252,7 +250,6 @@ NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf - NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf { -- 2.39.2