From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by mx.groups.io with SMTP id smtpd.web11.710.1602196675498759295 for ; Thu, 08 Oct 2020 15:37:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=UM0ABC5/; spf=pass (domain: gmail.com, ip: 209.85.215.195, mailfrom: matthewfcarlson@gmail.com) Received: by mail-pg1-f195.google.com with SMTP id 34so5504927pgo.13 for ; Thu, 08 Oct 2020 15:37:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=g92BFWDJjVc3JH93HtmROV8FbT6jSxHxCni5E5QXfKA=; b=UM0ABC5/zD8Qu1p+FoBDuUCovrgQYGIdgxF+85xw2P+WoKlpYwFCjPgBn8HLma4Lg5 kNpCl2pAtYLamOIiIoo2oZTCJnsF/YoXm2xdLXdq1l2/LR2DqSgxM1axf2dOCHX0DM5i cIQdCGQSgvXpSb5aCaI2sTGsJU/y7E0kJiw5Z+Nw2M02WKk0Wo9K8D2uRsNJmuKV4Swq /4I2iZEeXoKSgJLjwxgDCtuuJAhC7K1SG/jnWOHN+TYcJVGty+OmDrs5J8dEn4rNpJms xyNG17Sd+7L23X/xeVkSxRhR2LEFyK9fRK0RYwTnm2QBVH5OKI8hj7gyhncyLn2Cbjfo TXew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=g92BFWDJjVc3JH93HtmROV8FbT6jSxHxCni5E5QXfKA=; b=jZYQZv8Nv38p2wDzl/Lk7lSSTYiU1xrdrrlD4+leEhgtZXw1T1ia2e5O5tLlHf54YL yabu0lhDJ6vqXUeiUjG6r8oGvzPrCy+wtwlK1cJbgALDZ66cOD8GzUmyr8BKMty89faj TzYg/YkQokLL6lsjHJrh1D4WEIrmqq+Tw/q2EgRj2SNKTMkTbR+7ViHmG9k6iiy9XjPD qhgltDQL43YDHwf3ffWJlg4nu/mqeyGPvOtSv+RKd4Py9Xl9zluHe3bRTfVPmurpDJ4w ZMFW+3nygpzzdlDOx3fR4xWX9szUpnvvwjqh3orYK+Zz7XHX1/cr3fkd29dIRYrbybxf +7VQ== X-Gm-Message-State: AOAM533+CVjfYRPY5XXmta9xAmO7mUkZHArM6bqzfjcrnjlZ2ay/RSPF CZskxWYbdqD4xB6Td8RQn6oUZ6WFfpctTLG9 X-Google-Smtp-Source: ABdhPJwvLM2dGD7T/5guF2G66m8IIxSXgRYBUwYCuX4ot63QsIIDacLVVb/y4aO8tCJseYNCx3Didg== X-Received: by 2002:a17:90a:ec0c:: with SMTP id l12mr1181380pjy.28.1602196674800; Thu, 08 Oct 2020 15:37:54 -0700 (PDT) Return-Path: Received: from localhost.localdomain ([50.34.53.167]) by smtp.gmail.com with ESMTPSA id o90sm9062085pjo.36.2020.10.08.15.37.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2020 15:37:54 -0700 (PDT) From: "Matthew Carlson" To: devel@edk2.groups.io Cc: Jian J Wang , Xiaoyu Lu , Jiewen Yao , Guomin Jiang , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao Subject: [PATCH v6 0/2] Add Unit Tests for BaseCryptLib to CryptoPkg Date: Thu, 8 Oct 2020 15:37:45 -0700 Message-Id: <20201008223747.151-1-matthewfcarlson@gmail.com> X-Mailer: git-send-email 2.28.0.vfs.0.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Matthew Carlson This turns adds Host Based Unit Tests for CryptoPkg, adds a new BaseCryptLib implementation that is meant for unit testing and turns on HBUT for CryptoPkg CI. Changes for V6: Told ECC to ignore unit test and new CRT wrapper Changes for V5: Remove BaseTimerLibPosix as it is no longer needed Cleaned up a bit of the documentation around the tests Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Jiewen Yao Cc: Guomin Jiang Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao *** BLURB HERE *** Matthew Carlson (2): CryptoPkg: BaseCryptLib: Add unit tests (Host and Shell based) AzurePipelines : Pr Gate: Turn on HBUT for CryptoPkg CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c | 93 ++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c | 1002 ++++++++++++++++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c | 66 ++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c | 293 ++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c | 106 +++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c | 197 ++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c | 184 ++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c | 308 ++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c | 71 ++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c | 524 ++++++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c | 51 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c | 415 ++++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c | 310 ++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c | 335 +++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c | 81 ++ .azurepipelines/templates/pr-gate-build-job.yml | 2 +- CryptoPkg/CryptoPkg.ci.yaml | 8 + CryptoPkg/CryptoPkg.dsc | 23 + CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf | 90 ++ CryptoPkg/Test/CryptoPkgHostUnitTest.dsc | 35 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h | 789 +++++++++++++++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h | 121 +++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf | 46 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf | 49 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt | 92 ++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd | 11 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd | 76 ++ CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini | 45 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini | 25 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini | 24 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini | 27 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini | 16 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini | 28 + CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini | 28 + 34 files changed, 5570 insertions(+), 1 deletion(-) create mode 100644 CryptoPkg/Library/BaseCryptLib/SysCall/UnitTestHostCrtWrapper.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/AuthenticodeTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BaseCryptLibUnitTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BlockCipherTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/DhTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HashTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/HmacTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/OaepEncryptTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs5Pbkdf2Tests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RandTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaPkcs7Tests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/RsaTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TSTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c create mode 100644 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf create mode 100644 CryptoPkg/Test/CryptoPkgHostUnitTest.dsc create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/Pkcs7EkuTestSignatures.h create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLib.h create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibHost.inf create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestBaseCryptLibShell.inf create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/ChainCreationInstructions.txt create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/CreateTestCerts.cmd create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/SignFirmwareWithEKUs.cmd create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingIssuingCA.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSigner.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid1.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingLeafSignerPid12345.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingNoEKUsInSigner.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingPolicyCA.ini create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/TestEKUCerts/TestEKUParsingRoot.ini -- 2.28.0.vfs.0.0