From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com []) by mx.groups.io with SMTP id smtpd.web10.5215.1579155007460985160 for ; Wed, 15 Jan 2020 22:10:08 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: jian.j.wang@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Jan 2020 22:10:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,325,1574150400"; d="scan'208";a="219537663" Received: from unknown (HELO shwdeopensfp777.ccr.corp.intel.com) ([10.239.158.78]) by fmsmga007.fm.intel.com with ESMTP; 15 Jan 2020 22:10:06 -0800 From: "Wang, Jian J" To: devel@edk2.groups.io Cc: Xiaoyu Lu , Laszlo Ersek Subject: [PATCH v3 2/2] CryptoPkg/BaseCryptLib: remove HmacXxxGetContextSize interface Date: Thu, 16 Jan 2020 14:10:03 +0800 Message-Id: <20200116061004.636-3-jian.j.wang@intel.com> X-Mailer: git-send-email 2.24.0.windows.2 In-Reply-To: <20200116061004.636-1-jian.j.wang@intel.com> References: <20200116061004.636-1-jian.j.wang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1792 Hmac(Md5|Sha1|Sha256)GetContextSize() use a deprecated macro HMAC_MAX_MD_CBLOCK defined in openssl. They should be dropped to avoid misuses in the future. For context allocation and release, use HmacXxxNew() and HmacXxxFree() instead. Cc: Xiaoyu Lu Cc: Laszlo Ersek Signed-off-by: Jian J Wang --- CryptoPkg/Include/Library/BaseCryptLib.h | 17 ---------- .../Library/BaseCryptLib/Hmac/CryptHmacMd5.c | 31 ------------------ .../BaseCryptLib/Hmac/CryptHmacMd5Null.c | 20 ------------ .../Library/BaseCryptLib/Hmac/CryptHmacSha1.c | 32 ------------------- .../BaseCryptLib/Hmac/CryptHmacSha1Null.c | 20 ------------ .../BaseCryptLib/Hmac/CryptHmacSha256.c | 31 ------------------ .../BaseCryptLib/Hmac/CryptHmacSha256Null.c | 20 ------------ .../BaseCryptLibNull/Hmac/CryptHmacMd5Null.c | 20 ------------ .../BaseCryptLibNull/Hmac/CryptHmacSha1Null.c | 20 ------------ .../Hmac/CryptHmacSha256Null.c | 20 ------------ 10 files changed, 231 deletions(-) diff --git a/CryptoPkg/Include/Library/BaseCryptLib.h b/CryptoPkg/Include/L= ibrary/BaseCryptLib.h index c5803ea673..09fed8b041 100644 --- a/CryptoPkg/Include/Library/BaseCryptLib.h +++ b/CryptoPkg/Include/Library/BaseCryptLib.h @@ -1025,23 +1025,6 @@ Sm3HashAll ( // MAC (Message Authentication Code) Primitive=0D //=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-MD= 5 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacMd5New() / HmacMd5Free() for HMAC-MD5 Context operations.= )=0D -=0D - If this interface is not supported, then return zero.=0D -=0D - @return The size, in bytes, of the context buffer required for HMAC-MD5= operations.=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacMd5GetContextSize (=0D - VOID=0D - );=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-MD5 u= se.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5.c b/CryptoPkg= /Library/BaseCryptLib/Hmac/CryptHmacMd5.c index 7d49dc2698..6775e93ca5 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5.c @@ -9,37 +9,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "InternalCryptLib.h"=0D #include =0D =0D -//=0D -// NOTE: OpenSSL redefines the size of HMAC_CTX at crypto/hmac/hmac_lcl.h= =0D -// #define HMAC_MAX_MD_CBLOCK_SIZE 144=0D -//=0D -#define HMAC_MD5_CTX_SIZE (sizeof(void *) * 4 + sizeof(unsigned int) + = \=0D - sizeof(unsigned char) * 144)=0D -=0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-MD= 5 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacMd5New() / HmacMd5Free() for HMAC-MD5 Context operations.= )=0D -=0D - @return The size, in bytes, of the context buffer required for HMAC-MD5= operations.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacMd5GetContextSize (=0D - VOID=0D - )=0D -{=0D - //=0D - // Retrieves the OpenSSL HMAC-MD5 Context Size=0D - // NOTE: HMAC_CTX object was made opaque in openssl-1.1.x, here we just = use the=0D - // fixed size as a workaround to make this API work for compatibil= ity.=0D - // We should retire HmacMd5GetContextSize() in future, and use Hma= cMd5New()=0D - // and HmacMd5Free() for context allocation and release.=0D - //=0D - return (UINTN) HMAC_MD5_CTX_SIZE;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-MD5 u= se.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5Null.c b/Crypt= oPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5Null.c index b77a2266db..9da132eeee 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5Null.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacMd5Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-MD= 5 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacMd5New() / HmacMd5Free() for HMAC-MD5 Context operations.= )=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacMd5GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-MD5 u= se.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1.c b/CryptoPk= g/Library/BaseCryptLib/Hmac/CryptHmacSha1.c index 8126fb525f..27d0004a3a 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1.c @@ -9,38 +9,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "InternalCryptLib.h"=0D #include =0D =0D -//=0D -// NOTE: OpenSSL redefines the size of HMAC_CTX at crypto/hmac/hmac_lcl.h= =0D -// #define HMAC_MAX_MD_CBLOCK_SIZE 144=0D -//=0D -//=0D -#define HMAC_SHA1_CTX_SIZE (sizeof(void *) * 4 + sizeof(unsigned int) += \=0D - sizeof(unsigned char) * 144)=0D -=0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A1 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha1New() / HmacSha1Free() for HMAC-SHA1 Context operatio= ns.)=0D -=0D - @return The size, in bytes, of the context buffer required for HMAC-SHA= 1 operations.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha1GetContextSize (=0D - VOID=0D - )=0D -{=0D - //=0D - // Retrieves the OpenSSL HMAC-SHA1 Context Size=0D - // NOTE: HMAC_CTX object was made opaque in openssl-1.1.x, here we just = use the=0D - // fixed size as a workaround to make this API work for compatibil= ity.=0D - // We should retire HmacSha15GetContextSize() in future, and use H= macSha1New()=0D - // and HmacSha1Free() for context allocation and release.=0D - //=0D - return (UINTN) HMAC_SHA1_CTX_SIZE;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA1 = use.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1Null.c b/Cryp= toPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1Null.c index 84f204a542..2c26e9d514 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1Null.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha1Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A1 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha1New() / HmacSha1Free() for HMAC-SHA1 Context operatio= ns.)=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha1GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA1 = use.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256.c b/Crypto= Pkg/Library/BaseCryptLib/Hmac/CryptHmacSha256.c index f8fd0b172a..4271eaa27e 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256.c @@ -9,37 +9,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "InternalCryptLib.h"=0D #include =0D =0D -//=0D -// NOTE: OpenSSL redefines the size of HMAC_CTX at crypto/hmac/hmac_lcl.h= =0D -// #define HMAC_MAX_MD_CBLOCK_SIZE 144=0D -//=0D -#define HMAC_SHA256_CTX_SIZE (sizeof(void *) * 4 + sizeof(unsigned int)= + \=0D - sizeof(unsigned char) * 144)=0D -=0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A256 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha256New() / HmacSha256Free() for HMAC-SHA256 Context op= erations.)=0D -=0D - @return The size, in bytes, of the context buffer required for HMAC-SHA= 256 operations.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha256GetContextSize (=0D - VOID=0D - )=0D -{=0D - //=0D - // Retrieves the OpenSSL HMAC-SHA256 Context Size=0D - // NOTE: HMAC_CTX object was made opaque in openssl-1.1.x, here we just = use the=0D - // fixed size as a workaround to make this API work for compatibil= ity.=0D - // We should retire HmacSha256GetContextSize() in future, and use = HmacSha256New()=0D - // and HmacSha256Free() for context allocation and release.=0D - //=0D - return (UINTN)HMAC_SHA256_CTX_SIZE;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA25= 6 use.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256Null.c b/Cr= yptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256Null.c index cededebaa0..1af625ec9f 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256Null.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmacSha256Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A256 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha256New() / HmacSha256Free() for HMAC-SHA256 Context op= erations.)=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha256GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA25= 6 use.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacMd5Null.c b/C= ryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacMd5Null.c index b77a2266db..9da132eeee 100644 --- a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacMd5Null.c +++ b/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacMd5Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-MD= 5 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacMd5New() / HmacMd5Free() for HMAC-MD5 Context operations.= )=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacMd5GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-MD5 u= se.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha1Null.c b/= CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha1Null.c index 84f204a542..2c26e9d514 100644 --- a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha1Null.c +++ b/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha1Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A1 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha1New() / HmacSha1Free() for HMAC-SHA1 Context operatio= ns.)=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha1GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA1 = use.=0D =0D diff --git a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha256Null.c = b/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha256Null.c index cededebaa0..1af625ec9f 100644 --- a/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha256Null.c +++ b/CryptoPkg/Library/BaseCryptLibNull/Hmac/CryptHmacSha256Null.c @@ -8,26 +8,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =0D #include "InternalCryptLib.h"=0D =0D -/**=0D - Retrieves the size, in bytes, of the context buffer required for HMAC-SH= A256 operations.=0D - (NOTE: This API is deprecated.=0D - Use HmacSha256New() / HmacSha256Free() for HMAC-SHA256 Context op= erations.)=0D -=0D - Return zero to indicate this interface is not supported.=0D -=0D - @retval 0 This interface is not supported.=0D -=0D -**/=0D -UINTN=0D -EFIAPI=0D -HmacSha256GetContextSize (=0D - VOID=0D - )=0D -{=0D - ASSERT (FALSE);=0D - return 0;=0D -}=0D -=0D /**=0D Allocates and initializes one HMAC_CTX context for subsequent HMAC-SHA25= 6 use.=0D =0D --=20 2.24.0.windows.2