[edk2-devel] [Patch v2][edk2-stable202011 4/4] CryptoPkg/Test/UnitTest/Library/BaseCryptLib: Fix MD5 Hash tests
Michael D Kinney
michael.d.kinney at intel.com
Wed Nov 25 16:39:36 UTC 2020
Zhichao,
That is a good point. The CryptoPkg now disables MD5 services by default and a
platform may choose to enable MD5 services by defining ENABLE_MD5_DEPRECATED_INTERFACES.
It would be good if the host based unit tests continue to perform unit tests on MD5
services in case a platform chooses to enable them.
We can add the following lines from CryptoPkg.dsc to Test/CryptoPkgHostUnitTest.dsc
so the MD5 unit tests are always executed.
[BuildOptions]
*_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
MSFT:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
INTEL:*_*_*_CC_FLAGS = /D ENABLE_MD5_DEPRECATED_INTERFACES
GCC:*_*_*_CC_FLAGS = -D ENABLE_MD5_DEPRECATED_INTERFACES
RVCT:*_*_*_CC_FLAGS = -DENABLE_MD5_DEPRECATED_INTERFACES
Best regards,
Mike
> -----Original Message-----
> From: Gao, Zhichao <zhichao.gao at intel.com>
> Sent: Tuesday, November 24, 2020 11:31 PM
> To: devel at edk2.groups.io; Kinney, Michael D <michael.d.kinney at intel.com>
> Cc: Yao, Jiewen <jiewen.yao at intel.com>; Wang, Jian J <jian.j.wang at intel.com>; Lu, XiaoyuX <xiaoyux.lu at intel.com>; Jiang,
> Guomin <guomin.jiang at intel.com>
> Subject: RE: [edk2-devel] [Patch v2][edk2-stable202011 4/4] CryptoPkg/Test/UnitTest/Library/BaseCryptLib: Fix MD5 Hash
> tests
>
> The patch would disable the MD5 test. Do we need to enable it in the test dsc?
>
> Anyway, Reviewed-by: Zhichao Gao <zhichao.gao at intel.com>
>
> Thanks,
> Zhichao
>
> > -----Original Message-----
> > From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Michael D
> > Kinney
> > Sent: Wednesday, November 25, 2020 1:08 PM
> > To: devel at edk2.groups.io
> > Cc: Yao, Jiewen <jiewen.yao at intel.com>; Wang, Jian J <jian.j.wang at intel.com>;
> > Lu, XiaoyuX <xiaoyux.lu at intel.com>; Jiang, Guomin <guomin.jiang at intel.com>
> > Subject: [edk2-devel] [Patch v2][edk2-stable202011 4/4]
> > CryptoPkg/Test/UnitTest/Library/BaseCryptLib: Fix MD5 Hash tests
> >
> > Only include MD5 unit tests if ENABLE_MD5_DEPRECATED_INTERFACES is
> > defined.
> >
> > Cc: Jiewen Yao <jiewen.yao at intel.com>
> > Cc: Jian J Wang <jian.j.wang at intel.com>
> > Cc: Xiaoyu Lu <xiaoyux.lu at intel.com>
> > Cc: Guomin Jiang <guomin.jiang at intel.com>
> > Signed-off-by: Michael D Kinney <michael.d.kinney at intel.com>
> > ---
> > CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
> > b/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
> > index bc47c5736246..24919053324a 100644
> > --- a/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
> > +++ b/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c
> > @@ -21,10 +21,11 @@ GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8
> > *HashData = "abc"; // // Result for MD5("abc"). (From "A.5 Test suite" of IETF
> > RFC1321) //
> > +#ifdef ENABLE_MD5_DEPRECATED_INTERFACES
> > GLOBAL_REMOVE_IF_UNREFERENCED CONST UINT8
> > Md5Digest[MD5_DIGEST_SIZE] = {
> > 0x90, 0x01, 0x50, 0x98, 0x3c, 0xd2, 0x4f, 0xb0, 0xd6, 0x96, 0x3f, 0x7d, 0x28,
> > 0xe1, 0x7f, 0x72
> > -
> > };
> > +#endif
> >
> > //
> > // Result for SHA-1("abc"). (From "A.1 SHA-1 Example" of NIST FIPS 180-2) @@ -
> > 107,7 +108,9 @@ typedef struct {
> > VOID *HashCtx;
> > } HASH_TEST_CONTEXT;
> >
> > +#ifdef ENABLE_MD5_DEPRECATED_INTERFACES
> > HASH_TEST_CONTEXT mMd5TestCtx = {MD5_DIGEST_SIZE,
> > Md5GetContextSize, Md5Init, Md5Update, Md5Final, Md5HashAll,
> > Md5Digest};
> > +#endif
> > HASH_TEST_CONTEXT mSha1TestCtx = {SHA1_DIGEST_SIZE,
> > Sha1GetContextSize, Sha1Init, Sha1Update, Sha1Final, Sha1HashAll,
> > Sha1Digest};
> > HASH_TEST_CONTEXT mSha256TestCtx = {SHA256_DIGEST_SIZE,
> > Sha256GetContextSize, Sha256Init, Sha256Update, Sha256Final, Sha256HashAll,
> > Sha256Digest};
> > HASH_TEST_CONTEXT mSha384TestCtx = {SHA384_DIGEST_SIZE,
> > Sha384GetContextSize, Sha384Init, Sha384Update, Sha384Final, Sha384HashAll,
> > Sha384Digest};
> > @@ -187,7 +190,9 @@ TEST_DESC mHashTest[] = {
> > //
> > // -----Description----------------Class---------------------Function---------------
> > Pre------------------Post------------Context
> > //
> > +#ifdef ENABLE_MD5_DEPRECATED_INTERFACES
> > {"TestVerifyMd5()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash,
> > TestVerifyHashPreReq, TestVerifyHashCleanUp, &mMd5TestCtx},
> > +#endif
> > {"TestVerifySha1()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash,
> > TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha1TestCtx},
> > {"TestVerifySha256()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash,
> > TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha256TestCtx},
> > {"TestVerifySha384()", "CryptoPkg.BaseCryptLib.Hash", TestVerifyHash,
> > TestVerifyHashPreReq, TestVerifyHashCleanUp, &mSha384TestCtx},
> > --
> > 2.29.2.windows.2
> >
> >
> >
> >
> >
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#67990): https://edk2.groups.io/g/devel/message/67990
Mute This Topic: https://groups.io/mt/78494334/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list