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.web11.16075.1665542890380960943 for ; Tue, 11 Oct 2022 19:48:10 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=QytlU+Tl; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: qi1.zhang@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665542890; x=1697078890; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=UCK+LwPHDsk1Dr/POhoknPGJ/zvwFikAPT7rv2efhCU=; b=QytlU+TlAqm1DYT5FL42EH6DfBO+Y/Sq9p2USgsKq/vFWsMsjHZNcMYD FXlfkXtglK5zKEVzmT2PsDZqMCoD3+d3/XfRxS4R8LZP4ERm7WXN4WJ3+ wuCc/pA488piXtpHf85taO+cwTaMhZ7lM2cploHpuUXGJo4yeqjrQ4YIr DqM18Seby2mTcTKPjDCr4YCzVAoAq75zQXfgIQBKTTkAz4ly7lPGpIxXd mEFdmze4ginrV7UQ8/8uIoiFYEqIImz3uCvLM0n6zMarWdo4ykex9A2dT nixLgBVYVGOEI5vH9niW0c5stYUAu1a2vGCgOQGEowY6fHcV7IlO7hGJZ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="306308529" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="306308529" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 19:48:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="801688860" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="801688860" Received: from shwdesssddpdqi.ccr.corp.intel.com ([10.239.157.129]) by orsmga005.jf.intel.com with ESMTP; 11 Oct 2022 19:48:03 -0700 From: "Qi Zhang" To: devel@edk2.groups.io Cc: Qi Zhang , Jiewen Yao , Jian J Wang , Xiaoyu Lu , Guomin Jiang Subject: [PATCH V2 0/3] CryptoPkg: Add EC key retrieving and signature interface. Date: Wed, 12 Oct 2022 10:47:57 +0800 Message-Id: X-Mailer: git-send-email 2.26.2.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patch is used to retrieve EC key from PEM and X509 and carry out the EC-DSA signature and verify it. The interface was tested by: 1. DeviceSecurity on edk2-staging https://github.com/tianocore/edk2-staging/tree/DeviceSecurity. 2. Unit test in CryptoPkg/Test REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4102 PR: https://github.com/tianocore/edk2/pull/3464 V2 change: change the protocol version. Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Signed-off-by: Qi Zhang Qi Zhang (3): CryptoPkg: Add EC key retrieving and signature interface. CryptoPkg: Add EC key interface to DXE and protocol CryptoPkg: add unit test for EC key interface. CryptoPkg/Driver/Crypto.c | 143 +++++++++- CryptoPkg/Include/Library/BaseCryptLib.h | 129 +++++++++ .../Pcd/PcdCryptoServiceFamilyEnable.h | 4 + CryptoPkg/Library/BaseCryptLib/Pem/CryptPem.c | 87 ++++++ .../Library/BaseCryptLib/Pem/CryptPemNull.c | 30 ++ CryptoPkg/Library/BaseCryptLib/Pk/CryptEc.c | 258 ++++++++++++++++++ .../Library/BaseCryptLib/Pk/CryptEcNull.c | 82 ++++++ CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 83 ++++++ .../Library/BaseCryptLib/Pk/CryptX509Null.c | 28 ++ .../BaseCryptLibNull/Pem/CryptPemNull.c | 30 ++ .../Library/BaseCryptLibNull/Pk/CryptEcNull.c | 82 ++++++ .../BaseCryptLibNull/Pk/CryptX509Null.c | 28 ++ .../BaseCryptLibOnProtocolPpi/CryptLib.c | 136 +++++++++ CryptoPkg/Private/Protocol/Crypto.h | 131 ++++++++- .../UnitTest/Library/BaseCryptLib/EcTests.c | 156 +++++++++++ 15 files changed, 1405 insertions(+), 2 deletions(-) -- 2.26.2.windows.1