public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Li, Yi" <yi1.li@intel.com>
To: "Hou, Wenxing" <wenxing.hou@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] [PATCH v2] Add SHA3/SM3 functions with openssl for Mbedtls
Date: Thu, 25 Apr 2024 06:54:59 +0000	[thread overview]
Message-ID: <SJ1PR11MB6227FC571F8F0EADA80EBDE9C5172@SJ1PR11MB6227.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20240424082449.1781-1-wenxing.hou@intel.com>


Looks good to me.
Reviewed-by: Yi Li <yi1.li@intel.com>

-----Original Message-----
From: Hou, Wenxing <wenxing.hou@intel.com> 
Sent: Wednesday, April 24, 2024 4:25 PM
To: devel@edk2.groups.io
Cc: Yao, Jiewen <jiewen.yao@intel.com>; Li, Yi1 <yi1.li@intel.com>
Subject: [PATCH v2] Add SHA3/SM3 functions with openssl for Mbedtls

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4177



Because the Mbedlts 3.3.0 doesn't have SHA3 and Sm3, the SHA3 and Sm3

implementaion based on Openssl.

And the implementaion has passed build check.



Cc: Jiewen Yao <jiewen.yao@intel.com>

Cc: Yi Li <yi1.li@intel.com>

Signed-off-by: Wenxing Hou <wenxing.hou@intel.com>

---

 CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf   | 9 +++++++--

 CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf    | 9 +++++++--

 .../Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf      | 3 ++-

 CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf    | 9 +++++++--

 .../Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf     | 4 +++-

 CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf              | 6 ++++++

 CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf          | 6 ++++++

 7 files changed, 38 insertions(+), 8 deletions(-)



diff --git a/CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf

index 16def792c5..999054500f 100644

--- a/CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf

+++ b/CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf

@@ -18,6 +18,7 @@

   MODULE_TYPE                    = DXE_DRIVER

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER

+  DEFINE BASE_CRYPT_PATH         = ../BaseCryptLib

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -31,10 +32,14 @@

   Cipher/CryptAes.c

   Hash/CryptSha256.c

   Hash/CryptSha512.c

-  Hash/CryptParallelHashNull.c

-  Hash/CryptSm3Null.c

   Hash/CryptMd5.c

   Hash/CryptSha1.c

+  $(BASE_CRYPT_PATH)/Hash/CryptCShake256.c

+  $(BASE_CRYPT_PATH)/Hash/CryptDispatchApDxe.c

+  $(BASE_CRYPT_PATH)/Hash/CryptParallelHash.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSha3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSm3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptXkcp.c

   Hmac/CryptHmac.c

   Kdf/CryptHkdf.c

   Pk/CryptRsaBasic.c

diff --git a/CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf

index 72b22a24e8..a153c0c8e4 100644

--- a/CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf

+++ b/CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf

@@ -26,6 +26,7 @@

   MODULE_TYPE                    = PEIM

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = BaseCryptLib|PEIM PEI_CORE

+  DEFINE BASE_CRYPT_PATH         = ../BaseCryptLib

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -38,9 +39,13 @@

   Hash/CryptMd5.c

   Hash/CryptSha1.c

   Hash/CryptSha256.c

-  Hash/CryptSm3Null.c

   Hash/CryptSha512.c

-  Hash/CryptParallelHashNull.c

+  $(BASE_CRYPT_PATH)/Hash/CryptCShake256.c

+  $(BASE_CRYPT_PATH)/Hash/CryptDispatchApPei.c

+  $(BASE_CRYPT_PATH)/Hash/CryptParallelHash.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSha3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSm3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptXkcp.c

   Hmac/CryptHmac.c

   Kdf/CryptHkdf.c

   Cipher/CryptAes.c

diff --git a/CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf

index 9f17ef00bf..1b33dbdaad 100644

--- a/CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf

+++ b/CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf

@@ -25,6 +25,7 @@

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = BaseCryptLib|DXE_RUNTIME_DRIVER

   CONSTRUCTOR                    = RuntimeCryptLibConstructor

+  DEFINE BASE_CRYPT_PATH         = ../BaseCryptLib

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -37,9 +38,9 @@

   Hash/CryptMd5.c

   Hash/CryptSha1.c

   Hash/CryptSha256.c

-  Hash/CryptSm3Null.c

   Hash/CryptSha512.c

   Hash/CryptParallelHashNull.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSm3.c

   Hmac/CryptHmac.c

   Kdf/CryptHkdf.c

   Cipher/CryptAes.c

diff --git a/CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf b/CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf

index 40c56d1b7d..d9a9cb8d10 100644

--- a/CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf

+++ b/CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf

@@ -24,6 +24,7 @@

   VERSION_STRING                 = 1.0

   PI_SPECIFICATION_VERSION       = 0x0001000A

   LIBRARY_CLASS                  = BaseCryptLib|DXE_SMM_DRIVER SMM_CORE MM_STANDALONE

+  DEFINE BASE_CRYPT_PATH         = ../BaseCryptLib

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -36,9 +37,13 @@

   Hash/CryptMd5.c

   Hash/CryptSha1.c

   Hash/CryptSha256.c

-  Hash/CryptSm3Null.c

   Hash/CryptSha512.c

-  Hash/CryptParallelHashNull.c

+  $(BASE_CRYPT_PATH)/Hash/CryptCShake256.c

+  $(BASE_CRYPT_PATH)/Hash/CryptDispatchApMm.c

+  $(BASE_CRYPT_PATH)/Hash/CryptParallelHash.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSha3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSm3.c

+  $(BASE_CRYPT_PATH)/Hash/CryptXkcp.c

   Hmac/CryptHmac.c

   Kdf/CryptHkdf.c

   Cipher/CryptAes.c

diff --git a/CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf

index def990b996..6a7f4bdbf6 100644

--- a/CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf

+++ b/CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf

@@ -18,6 +18,7 @@

   MODULE_TYPE                    = DXE_DRIVER

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER

+  DEFINE BASE_CRYPT_PATH         = ../BaseCryptLib

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -31,9 +32,10 @@

   Cipher/CryptAes.c

   Hash/CryptSha256.c

   Hash/CryptSha512.c

-  Hash/CryptSm3Null.c

   Hash/CryptMd5.c

   Hash/CryptSha1.c

+  $(BASE_CRYPT_PATH)/Hash/CryptSm3.c

+  Hash/CryptParallelHashNull.c

   Hmac/CryptHmac.c

   Kdf/CryptHkdf.c

   Pk/CryptRsaBasic.c

diff --git a/CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf b/CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf

index adcf770902..93f8e69383 100644

--- a/CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf

+++ b/CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf

@@ -13,6 +13,7 @@

   MODULE_TYPE                    = BASE

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = MbedTlsLib

+  DEFINE OPENSSL_PATH            = ../OpensslLib/openssl

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -21,6 +22,11 @@

 #

 

 [Sources]

+# Openssl files list starts here

+  $(OPENSSL_PATH)/crypto/mem_clr.c

+  $(OPENSSL_PATH)/crypto/sha/keccak1600.c

+  $(OPENSSL_PATH)/crypto/sm3/sm3.c

+# Openssl files list ends here

   Include/mbedtls/mbedtls_config.h

   mbedtls/library/aes.c

   mbedtls/library/asn1parse.c

diff --git a/CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf b/CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf

index 7715392a9d..98695312cf 100644

--- a/CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf

+++ b/CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf

@@ -13,6 +13,7 @@

   MODULE_TYPE                    = BASE

   VERSION_STRING                 = 1.0

   LIBRARY_CLASS                  = MbedTlsLib

+  DEFINE OPENSSL_PATH            = ../OpensslLib/openssl

 

 #

 # The following information is for reference only and not required by the build tools.

@@ -21,6 +22,11 @@

 #

 

 [Sources]

+# Openssl files list starts here

+  $(OPENSSL_PATH)/crypto/mem_clr.c

+  $(OPENSSL_PATH)/crypto/sha/keccak1600.c

+  $(OPENSSL_PATH)/crypto/sm3/sm3.c

+# Openssl files list ends here

   Include/mbedtls/mbedtls_config.h

   mbedtls/library/aes.c

   mbedtls/library/asn1parse.c

-- 

2.26.2.windows.1





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#118271): https://edk2.groups.io/g/devel/message/118271
Mute This Topic: https://groups.io/mt/105706562/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



      reply	other threads:[~2024-04-25  6:55 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24  8:24 [edk2-devel] [PATCH v2] Add SHA3/SM3 functions with openssl for Mbedtls Wenxing Hou
2024-04-25  6:54 ` Li, Yi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ1PR11MB6227FC571F8F0EADA80EBDE9C5172@SJ1PR11MB6227.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox