Re: [PATCH V3 0/3] CryptoPkg: Add BigNum support


Yao, Jiewen
 

Reviewed-by: Jiewen Yao <Jiewen.yao@...>

Merged https://github.com/tianocore/edk2/pull/3390

-----Original Message-----
From: Li, Yi1 <yi1.li@...>
Sent: Wednesday, September 21, 2022 1:28 PM
To: devel@edk2.groups.io
Cc: Li, Yi1 <yi1.li@...>; Yao, Jiewen <jiewen.yao@...>; Wang,
Jian J <jian.j.wang@...>; Lu, Xiaoyu1 <xiaoyu1.lu@...>; Jiang,
Guomin <guomin.jiang@...>
Subject: [PATCH V3 0/3] CryptoPkg: Add BigNum support

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

Review PR: https://github.com/tianocore/edk2/pull/3309
This patch sequence is used to add CryptBn library, which are wrapped
over OpenSSL. The implementation provides library functions for EFI
BaseCrypt protocol and EFI BaseCrypt Configuration Protocol.

All APIs passed unit test and fuzzing test, detail as:
1. Unit test:
The purpose of unit testing is to ensure that the function obtains the
expected result under specific input, that is, to ensure the correctness
of APIs.
All test case show in patch 3 :CryptoPkg/Test: Add unit test for CryptoBn.
2. Fuzzing test:
Various Fuzz Testing are employed across the all introduced APIs, and the
test is used AFL (2.52b) and Libfuzzer (clang+llvm-11.0.0) as the fuzzer,
based on HBFA.
Fuzzing Pass Rate is 100%;
The Code Coverage new APIs is 100%;
All test case show in:
https://github.com/liyi77/edk2-
staging/tree/HBFA/HBFA/UefiHostFuzzTestCasePkg/TestCase/CryptoPkg

V2 change:
1. Squash uncrustify tool update into previous patch.
2. Increase EDKII_CRYPTO_VERSION to 9.

Tested-by: Yi Li <yi1.li@...>
Cc: Jiewen Yao <jiewen.yao@...>
Cc: Jian J Wang <jian.j.wang@...>
Cc: Xiaoyu Lu <xiaoyu1.lu@...>
Cc: Guomin Jiang <guomin.jiang@...>

Signed-off-by: Yi Li <yi1.li@...>

Yi Li (3):
CryptoPkg: Add BigNum support
CryptoPkg: Add BigNum API to DXE and protocol
CryptoPkg/Test: Add unit test for CryptoBn

CryptoPkg/CryptoPkg.dsc | 1 +
CryptoPkg/Driver/Crypto.c | 520 +++++++++++++++-
CryptoPkg/Include/Library/BaseCryptLib.h | 418 +++++++++++++
.../Pcd/PcdCryptoServiceFamilyEnable.h | 30 +
.../Library/BaseCryptLib/BaseCryptLib.inf | 1 +
CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c | 581
++++++++++++++++++
.../Library/BaseCryptLib/Bn/CryptBnNull.c | 520 ++++++++++++++++
.../Library/BaseCryptLib/PeiCryptLib.inf | 1 +
.../Library/BaseCryptLib/SmmCryptLib.inf | 1 +
.../BaseCryptLib/UnitTestHostBaseCryptLib.inf | 1 +
.../BaseCryptLibNull/BaseCryptLibNull.inf | 1 +
.../Library/BaseCryptLibNull/Bn/CryptBnNull.c | 520 ++++++++++++++++
.../BaseCryptLibOnProtocolPpi/CryptLib.c | 492 +++++++++++++++
CryptoPkg/Private/Protocol/Crypto.h | 429 ++++++++++++-
.../BaseCryptLib/BaseCryptLibUnitTests.c | 1 +
.../UnitTest/Library/BaseCryptLib/BnTests.c | 266 ++++++++
.../Library/BaseCryptLib/TestBaseCryptLib.h | 3 +
.../BaseCryptLib/TestBaseCryptLibHost.inf | 1 +
.../BaseCryptLib/TestBaseCryptLibShell.inf | 1 +
19 files changed, 3786 insertions(+), 2 deletions(-)
create mode 100644 CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c
create mode 100644 CryptoPkg/Library/BaseCryptLib/Bn/CryptBnNull.c
create mode 100644
CryptoPkg/Library/BaseCryptLibNull/Bn/CryptBnNull.c
create mode 100644
CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BnTests.c

--
2.31.1.windows.1

Join devel@edk2.groups.io to automatically receive all group messages.