From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: lersek@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Thu, 04 Jul 2019 02:46:47 -0700 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2291385A04; Thu, 4 Jul 2019 09:46:46 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-117-165.ams2.redhat.com [10.36.117.165]) by smtp.corp.redhat.com (Postfix) with ESMTP id 990665B2D7; Thu, 4 Jul 2019 09:46:44 +0000 (UTC) From: "Laszlo Ersek" To: edk2-devel-groups-io Cc: Chao Zhang , Imran Desai , Jian Wang , Jiewen Yao , Leif Lindholm Subject: [PATCH 4/5] Revert "SecurityPkg: introduce the SM3 digest algorithm" Date: Thu, 4 Jul 2019 11:46:23 +0200 Message-Id: <20190704094624.21057-5-lersek@redhat.com> In-Reply-To: <20190704094624.21057-1-lersek@redhat.com> References: <20190704094624.21057-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 04 Jul 2019 09:46:46 +0000 (UTC) Content-Transfer-Encoding: quoted-printable 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=3D1781 Signed-off-by: Laszlo Ersek --- SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni | 15 -- SecurityPkg/SecurityPkg.dsc | 3 - SecurityPkg/Include/Library/HashLib.h | 1 - SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf | 41 ----= -- SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c | 150 ----= ---------------- 5 files changed, 210 deletions(-) diff --git a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.un= i b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.uni deleted file mode 100644 index 07a5c53d9915..000000000000 --- 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 BaseCr= ypto SM3 hash service" - -#string STR_MODULE_DESCRIPTION #language en-US "This library ca= n be registered to BaseCrypto router, to serve as hash engine." - diff --git a/SecurityPkg/SecurityPkg.dsc b/SecurityPkg/SecurityPkg.dsc index aef2ac3a208d..60f3b0110eb7 100644 --- a/SecurityPkg/SecurityPkg.dsc +++ b/SecurityPkg/SecurityPkg.dsc @@ -226,7 +226,6 @@ [Components.IA32, Components.X64] SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf - SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf =20 SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf { @@ -241,7 +240,6 @@ [Components.IA32, Components.X64] NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha2= 56.inf NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha3= 84.inf NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha5= 12.inf - NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf } =20 SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf { @@ -252,7 +250,6 @@ [Components.IA32, Components.X64] NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha2= 56.inf NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha3= 84.inf NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha5= 12.inf - NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf } SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf { diff --git a/SecurityPkg/Include/Library/HashLib.h b/SecurityPkg/Include/= Library/HashLib.h index a5b433d824a4..63f08398788b 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 =20 typedef struct { EFI_GUID HashGuid; diff --git a/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.in= f b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf deleted file mode 100644 index 781164d74ea0..000000000000 --- 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 =3D 0x00010005 - BASE_NAME =3D HashInstanceLibSm3 - MODULE_UNI_FILE =3D HashInstanceLibSm3.uni - FILE_GUID =3D C5865D5D-9ACE-39FB-DC7C-0511891D40F= 9 - MODULE_TYPE =3D BASE - VERSION_STRING =3D 1.0 - LIBRARY_CLASS =3D NULL - CONSTRUCTOR =3D HashInstanceLibSm3Constructor - -# -# The following information is for reference only and not required by th= e build tools. -# -# VALID_ARCHITECTURES =3D 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.c = b/SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.c deleted file mode 100644 index 8fd95162118a..000000000000 --- 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 =3D 1; - DigestList->digests[0].hashAlg =3D 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 retu= rned. - @retval EFI_OUT_OF_RESOURCES No enough resource to start hash. -**/ -EFI_STATUS -EFIAPI -Sm3HashInit ( - OUT HASH_HANDLE *HashHandle - ) -{ - VOID *Sm3Ctx; - UINTN CtxSize; - - CtxSize =3D Sm3GetContextSize (); - Sm3Ctx =3D AllocatePool (CtxSize); - if (Sm3Ctx =3D=3D NULL) { - return EFI_OUT_OF_RESOURCES; - } - - Sm3Init (Sm3Ctx); - - *HashHandle =3D (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 =3D (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 retur= ned. -**/ -EFI_STATUS -EFIAPI -Sm3HashFinal ( - IN HASH_HANDLE HashHandle, - OUT TPML_DIGEST_VALUES *DigestList - ) -{ - UINT8 Digest[SM3_256_DIGEST_SIZE]; - VOID *Sm3Ctx; - - Sm3Ctx =3D (VOID *)HashHandle; - Sm3Final (Sm3Ctx, Digest); - - FreePool (Sm3Ctx); - - Tpm2SetSm3ToDigestList (DigestList, Digest); - - return EFI_SUCCESS; -} - -HASH_INTERFACE mSm3InternalHashInstance =3D { - HASH_ALGORITHM_SM3_256_GUID, - Sm3HashInit, - Sm3HashUpdate, - Sm3HashFinal, -}; - -/** - The function register SM3 instance. - - @retval EFI_SUCCESS SM3 instance is registered, or system dose not s= upport register SM3 instance -**/ -EFI_STATUS -EFIAPI -HashInstanceLibSm3Constructor ( - VOID - ) -{ - EFI_STATUS Status; - - Status =3D RegisterHashInterfaceLib (&mSm3InternalHashInstance); - if ((Status =3D=3D EFI_SUCCESS) || (Status =3D=3D EFI_UNSUPPORTED)) { - // - // Unsupported means platform policy does not need this instance ena= bled. - // - return EFI_SUCCESS; - } - return Status; -} --=20 2.19.1.3.g30247aa5d201