From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.4603.1580367647168721774 for ; Wed, 29 Jan 2020 23:00:47 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Jan 2020 23:00:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,380,1574150400"; d="scan'208";a="224049726" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.254.44.187]) by fmsmga008.fm.intel.com with ESMTP; 29 Jan 2020 23:00:40 -0800 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jian J Wang , Xiaoyu Lu Subject: [Patch 0/5] CryptoPkg: Add modules that produce BaseCryptLib services Date: Wed, 29 Jan 2020 23:00:32 -0800 Message-Id: <20200130070037.8516-1-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit https://bugzilla.tianocore.org/show_bug.cgi?id=2420 Based on the following package with changes to merge into CryptoPkg. https://github.com/microsoft/mu_plus/tree/dev/201908/SharedCryptoPkg * Add X509ConstructCertificateStackV() to BaseCryptLib. This is required to have a VA_LIST version of X509ConstructCertificateStack() so it can be maped into a Protocol/PPI. * Add EDK II Crypto Protocols/PPIs/PCDs * Add PEIM, DXE Driver, SMM Driver that produce the EDK II Crypto Protocols/PPIs using the services of the BaseCryptLib and TlsLib with families of services and individual services enabled/disables in the Protocols/PPIs using a PCD. * Add new BaseCryptLib library instance that calls the EDK II Crypto Protocols/PPIs. * Update DSC file to build all modules/libs and provide ability to build binary versions of the PEIM, DXE Driver, SMM Driver with different sets of Crypto services enabled. This patch series depends on the following patches that must be committed before this patch series will build and pass EDK II CI. https://edk2.groups.io/g/devel/message/53551 https://edk2.groups.io/g/devel/message/53555 Cc: Jian J Wang Cc: Xiaoyu Lu Signed-off-by: Michael D Kinney Michael D Kinney (5): CryptoPkg/BaseCryptLib: Add X509ConstructCertificateStackV(). CryptoPkg: Add EDK II Crypto Protocols/PPIs/PCDs CryptoPkg/Driver: Add Crypto PEIM, DXE, and SMM modules CryptoPkg/Library: Add BaseCryptLibOnProtocolPpi instances CryptoPkg/CryptoPkg.dsc: Add build of Crypto libraries/modules CryptoPkg/CryptoPkg.dec | 34 +- CryptoPkg/CryptoPkg.dsc | 209 +- CryptoPkg/CryptoPkg.uni | 3 +- .../BaseCryptLib.h => Driver/Crypto.c} | 2139 ++++++- CryptoPkg/Driver/Crypto.uni | 13 + CryptoPkg/Driver/CryptoDxe.c | 38 + CryptoPkg/Driver/CryptoDxe.inf | 49 + CryptoPkg/Driver/CryptoPei.c | 99 + CryptoPkg/Driver/CryptoPei.inf | 51 + CryptoPkg/Driver/CryptoSmm.c | 41 + CryptoPkg/Driver/CryptoSmm.inf | 49 + CryptoPkg/Include/Library/BaseCryptLib.h | 26 + .../Pcd/PcdCryptoServiceFamilyEnable.h | 288 + CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 50 +- .../Library/BaseCryptLib/Pk/CryptX509Null.c | 32 +- .../BaseCryptLibNull/Pk/CryptX509Null.c | 32 +- .../BaseCryptLibOnProtocolPpi/CryptLib.c} | 1701 +++++- .../BaseCryptLibOnProtocolPpi/CryptLib.uni | 12 + .../BaseCryptLibOnProtocolPpi/DxeCryptLib.c | 68 + .../BaseCryptLibOnProtocolPpi/DxeCryptLib.inf | 44 + .../BaseCryptLibOnProtocolPpi/PeiCryptLib.c | 57 + .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 43 + .../BaseCryptLibOnProtocolPpi/SmmCryptLib.c | 79 + .../BaseCryptLibOnProtocolPpi/SmmCryptLib.inf | 44 + CryptoPkg/Private/Ppi/Crypto.h | 21 + .../Protocol/Crypto.h} | 5330 ++++++++++------- CryptoPkg/Private/Protocol/SmmCrypto.h | 21 + 27 files changed, 7861 insertions(+), 2712 deletions(-) copy CryptoPkg/{Include/Library/BaseCryptLib.h => Driver/Crypto.c} (61%) create mode 100644 CryptoPkg/Driver/Crypto.uni create mode 100644 CryptoPkg/Driver/CryptoDxe.c create mode 100644 CryptoPkg/Driver/CryptoDxe.inf create mode 100644 CryptoPkg/Driver/CryptoPei.c create mode 100644 CryptoPkg/Driver/CryptoPei.inf create mode 100644 CryptoPkg/Driver/CryptoSmm.c create mode 100644 CryptoPkg/Driver/CryptoSmm.inf create mode 100644 CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h copy CryptoPkg/{Include/Library/BaseCryptLib.h => Library/BaseCryptLibOnProtocolPpi/CryptLib.c} (67%) create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.uni create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf create mode 100644 CryptoPkg/Private/Ppi/Crypto.h copy CryptoPkg/{Include/Library/BaseCryptLib.h => Private/Protocol/Crypto.h} (62%) create mode 100644 CryptoPkg/Private/Protocol/SmmCrypto.h -- 2.21.0.windows.1