From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web12.5814.1596358123809757234 for ; Sun, 02 Aug 2020 01:48:43 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TtYYirHJ; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) IronPort-SDR: TX2XSMYysQQI8dDNN+frubc/kTz9jlXNKhTGZxKkPHjYOgVdtiYx7vhcDNVTMwQ5JTfLzTtCfy jDBur+nZ2Jug== X-IronPort-AV: E=McAfee;i="6000,8403,9700"; a="236852924" X-IronPort-AV: E=Sophos;i="5.75,425,1589266800"; d="scan'208";a="236852924" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Aug 2020 01:48:43 -0700 IronPort-SDR: l8+tS/PmxOYPWbBtRvDYF2TEsfnrejfQJGJK6jkkM02E78ZT4aWtIJxxt4Ju3vXXoh3iygEcZO FmzRe4fz0dbA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,425,1589266800"; d="scan'208";a="314323023" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 02 Aug 2020 01:48:43 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 2 Aug 2020 01:48:42 -0700 Received: from fmsmsx105.amr.corp.intel.com (10.18.124.203) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 2 Aug 2020 01:48:42 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 2 Aug 2020 01:48:42 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 2 Aug 2020 01:48:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oB5k2Va80WBfb9RiWOy0aUlgAcxvaHvRpiGMkQQRIcVce/C0Crf8zuCVrDpNc57f8wDBRBf8eoaao6XbQPEaiSJmnOglDEvPMTbz6iZvZUoX0+C7Fe0Kex5M15bmvvECwcn1x15iM14bR9lyZDzbwjVhyGZ6G6pinTgJGmAX6MyW3pJXin1Rvw0y29UT5HQAAuMZNjF/hffWzb8keKJHpXtE1gasbvw8AOKpgc+VhnzBKz66V2uVghmV1w/O3L8MwBtqGCzuR370iUcVFaYKRG2fQEqnAKy1wlv/vFW+TRl6dFTpVsfz/5GyWTpnV4w304Zvs3RSwmH5feV0+N3HKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=676JrXj+L89IzV4Hn/VsDbsZBdbyZmyowIA3gRwoTyo=; b=ZI+0YDBukPVND2BHoCMy5pBxZTbZ9uXPwJGDrao93yYCcB2De9Ycm6aKmBzjxlyC0BDevi6M5+n7LtLFNHIuextxg155MrZSRLJj7jfF6dPflR7OKr8VLqvubD1qySVT8gFSkf9JPYBDYCY2KEH7x1Rc8KRZJ3/Qy+Ku35StlKboiiS7Lqyr63jr6so4935Vj/S0IlWCxzJ3V+T3InsgqdE+HjBFIAHzyUFJwgjTrrVPTlb6lASMz8FwurlB/HfSf0GVUiFRLNQkvNZ/wbJxU0ua4DnuXECVoCqco3+3U5O+lSxq02VCmf1kzhwbrX3lMplWyEpzpXVnslgu97ojmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=676JrXj+L89IzV4Hn/VsDbsZBdbyZmyowIA3gRwoTyo=; b=TtYYirHJUvgvAUGh1g+hlYolbLBrhheIWnekImCddD7qBlgS/0Ryw6xlNF9BvpsREKeOxiZvx4+3e/0B8SrLkEz2c4+sn6r4zAsgHC2YRJSOD4OazNjsGHbwUmCIjw3sHNKwReBIlS7Xs4fcsT5utqWiO5XeLS7tAk17yW0dNOk= Received: from CY4PR11MB1288.namprd11.prod.outlook.com (2603:10b6:903:23::8) by CY4PR11MB1640.namprd11.prod.outlook.com (2603:10b6:910:8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.20; Sun, 2 Aug 2020 08:48:40 +0000 Received: from CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::8cfa:f914:1ef2:9bbf]) by CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::8cfa:f914:1ef2:9bbf%7]) with mapi id 15.20.3239.021; Sun, 2 Aug 2020 08:48:40 +0000 From: "Yao, Jiewen" To: "Zhang, Qi1" , "devel@edk2.groups.io" CC: "Wang, Jian J" Subject: Re: [PATCH 9/9] SecurityPkg/HashLib: add API HashFinal Thread-Topic: [PATCH 9/9] SecurityPkg/HashLib: add API HashFinal Thread-Index: AQHWZxhScHjeYhdrUEWZy8yxD49rJqkkhP7g Date: Sun, 2 Aug 2020 08:48:40 +0000 Message-ID: References: <20200731085437.16070-1-qi1.zhang@intel.com> <20200731085437.16070-10-qi1.zhang@intel.com> In-Reply-To: <20200731085437.16070-10-qi1.zhang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzRmNjdlMTUtMjBmOC00ZWYxLWEwNDQtNGMzNTNlYWMxZThkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoieDNvejdzMG1WODRuazlERjJ6YlM5VnNkaVlaSlp6OFRaeGV3ek5Ya3d4d2grcHl3QnJFeHVsODM5WjFMRlBPSSJ9 x-ctpclassification: CTP_NT dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.216] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 40804ced-2b9b-4ef2-d458-08d836c0dad3 x-ms-traffictypediagnostic: CY4PR11MB1640: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: K5Thag6v4Y5PNkE/ZT9eV5kqaloQDjuJ+vtUCGcMWOss+k60WPh4tKXG58/Hlm3g3rz7zX/GNkGWFqge67p2csc4zX1ZP4oqgbkQc3+tzLLg5ZSS/SrU8k81VaSAH90h1FDUpqLJccSfzzNM2ijzpW7Mg/6XNqIyUZo4yv13Mo6YqSfQCxKxzIokVXHiM2Ac1vEgbsBxVj1/uUqlCRUzu5PpWtSZ1DT53jOZKgNrsY1eCBha9culQzWdBhkXooCqwVu/hdpuLTe79tM40FWP1NnvIwwAGZEr6mqrS8DZRX4YJg71CicTQwpFzrosNnpCqIVOcXdp31u7O30r9t5D4IhXTPWFPOuMvMOJAxxfLyHEL+UCUhPoAaWw0Anb7oVKt/YQuC0KpA50/+rxlAtOgg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1288.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(376002)(346002)(39860400002)(366004)(136003)(396003)(966005)(26005)(186003)(53546011)(15650500001)(86362001)(2906002)(33656002)(52536014)(55016002)(66446008)(66556008)(71200400001)(8936002)(4326008)(64756008)(66476007)(76116006)(8676002)(19627235002)(107886003)(9686003)(7696005)(6506007)(110136005)(478600001)(66946007)(316002)(5660300002)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: xml3YvI7QvxNGmQhsg1hOt4kV6x+dJWGr65HH+wZxEKtvjJNo7Ahdoixfhkh/ZLRjA58cL/bP4tvCeQnFqdO1U0XYa7oR/lOMm62ToVlm9Go7o644GD1kNd/L1joPu9xKXlMz6hfkbczJBj2wE6WPTSYPCC/aQtzDwKAc4XJR+wMA69+Hk4eIywJqdPElOxniIvLyWJX+uORJSBy7F9jce9ccCNsTGnK9h6UgQ80jCdvgdPEphq4ky/XixxQ3vtCb8mvgqiTqhhf4aCHjV0A1+rcbodClTW4SbGHvme84fOV3+9psaZp3yod8F+5BN8Mp7cAoxNBbyKYySGFaLuyWzNGHEYcsr1YopcWqfdkHkXRjgtRBEzBn//J9hxvO0R9uXDaRqk3grQXts9TcHjr5fe8fU1RfO+XvIWrSrC04VbCbsldVZb70mBG+Dm/zv1AHaKgne6+dFAd1sbABJidfYGVooWxKoo4WHsqL1DeH0W0IDNbZEWMRzD1+/Og0YhzDiOEzkbPbl/6l/LnE2NrgPTnDdEtivw9lwHjv4/uNC9zzjYGFzMYAbbbdppenZsjgQ3koWBXswhr62orPHbkXdglqv0yEinCFKH9PDXhJ/bJ8oYc9gOx8mckNZcS0SfnXynTZ7T909jt2ZSF1K7x8g== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1288.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40804ced-2b9b-4ef2-d458-08d836c0dad3 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Aug 2020 08:48:40.4751 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vHSMqXykm63dgKVuIEKwS/B85ncQTfpZFvMshiJw46etVBaGuxKjUcN6QBVTnPapHUDjaYSm7CrvbNRqg7S4sQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1640 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable If you want to add one API for a library class, we need add implementation = for all library instances. Here the DXE version should also be updated to add such capability. > -----Original Message----- > From: Zhang, Qi1 > Sent: Friday, July 31, 2020 4:55 PM > To: devel@edk2.groups.io > Cc: Zhang, Qi1 ; Yao, Jiewen ; > Wang, Jian J > Subject: [PATCH 9/9] SecurityPkg/HashLib: add API HashFinal >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2376 >=20 > Cc: Jiewen Yao > Cc: Jian J Wang > Cc: Qi Zhang > Signed-off-by: Qi Zhang > --- > SecurityPkg/Include/Library/HashLib.h | 15 ++++++ > .../HashLibBaseCryptoRouterPei.c | 48 +++++++++++++++++++ > 2 files changed, 63 insertions(+) >=20 > diff --git a/SecurityPkg/Include/Library/HashLib.h > b/SecurityPkg/Include/Library/HashLib.h > index 6ad960ad70..e2d9a62a1d 100644 > --- a/SecurityPkg/Include/Library/HashLib.h > +++ b/SecurityPkg/Include/Library/HashLib.h > @@ -47,6 +47,21 @@ HashUpdate ( > IN UINTN DataToHashLen >=20 > ); >=20 >=20 >=20 > +/** >=20 > + Hash sequence complete and extend to PCR. >=20 > + >=20 > + @param HashHandle Hash handle. >=20 > + @param DigestList Digest list. >=20 > + >=20 > + @retval EFI_SUCCESS Hash sequence complete and DigestList is retur= ned. >=20 > +**/ >=20 > +EFI_STATUS >=20 > +EFIAPI >=20 > +HashFinal ( >=20 > + IN HASH_HANDLE HashHandle, >=20 > + OUT TPML_DIGEST_VALUES *DigestList >=20 > + ); >=20 > + >=20 > /** >=20 > Hash sequence complete and extend to PCR. >=20 >=20 >=20 > diff --git > a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.= c > b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.= c > index 42cb562f67..5b9719630d 100644 > --- > a/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.= c > +++ > b/SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.= c > @@ -208,6 +208,54 @@ HashUpdate ( > return EFI_SUCCESS; >=20 > } >=20 >=20 >=20 > +/** >=20 > + Hash sequence complete and extend to PCR. >=20 > + >=20 > + @param HashHandle Hash handle. >=20 > + @param DigestList Digest list. >=20 > + >=20 > + @retval EFI_SUCCESS Hash sequence complete and DigestList is retur= ned. >=20 > +**/ >=20 > +EFI_STATUS >=20 > +EFIAPI >=20 > +HashFinal ( >=20 > + IN HASH_HANDLE HashHandle, >=20 > + OUT TPML_DIGEST_VALUES *DigestList >=20 > + ) >=20 > +{ >=20 > + TPML_DIGEST_VALUES Digest; >=20 > + HASH_INTERFACE_HOB *HashInterfaceHob; >=20 > + HASH_HANDLE *HashCtx; >=20 > + UINTN Index; >=20 > + UINT32 HashMask; >=20 > + >=20 > + HashInterfaceHob =3D InternalGetHashInterfaceHob (&gEfiCallerIdGuid); >=20 > + if (HashInterfaceHob =3D=3D NULL) { >=20 > + return EFI_UNSUPPORTED; >=20 > + } >=20 > + >=20 > + if (HashInterfaceHob->HashInterfaceCount =3D=3D 0) { >=20 > + return EFI_UNSUPPORTED; >=20 > + } >=20 > + >=20 > + CheckSupportedHashMaskMismatch (HashInterfaceHob); >=20 > + >=20 > + HashCtx =3D (HASH_HANDLE *)HashHandle; >=20 > + ZeroMem (DigestList, sizeof(*DigestList)); >=20 > + >=20 > + for (Index =3D 0; Index < HashInterfaceHob->HashInterfaceCount; Index+= +) { >=20 > + HashMask =3D Tpm2GetHashMaskFromAlgo (&HashInterfaceHob- > >HashInterface[Index].HashGuid); >=20 > + if ((HashMask & PcdGet32 (PcdTpm2HashMask)) !=3D 0) { >=20 > + HashInterfaceHob->HashInterface[Index].HashFinal (HashCtx[Index], > &Digest); >=20 > + Tpm2SetHashToDigestList (DigestList, &Digest); >=20 > + } >=20 > + } >=20 > + >=20 > + FreePool (HashCtx); >=20 > + >=20 > + return EFI_SUCCESS; >=20 > +} >=20 > + >=20 > /** >=20 > Hash sequence complete and extend to PCR. >=20 >=20 >=20 > -- > 2.26.2.windows.1