From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 52EBE1A1E31 for ; Tue, 25 Oct 2016 19:06:16 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP; 25 Oct 2016 19:06:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,548,1473145200"; d="scan'208,217";a="777716439" Received: from orsmsx103.amr.corp.intel.com ([10.22.225.130]) by FMSMGA003.fm.intel.com with ESMTP; 25 Oct 2016 19:06:15 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.50]) by ORSMSX103.amr.corp.intel.com ([169.254.5.152]) with mapi id 14.03.0248.002; Tue, 25 Oct 2016 19:06:15 -0700 From: "Kinney, Michael D" To: "Yao, Jiewen" , "edk2-devel@lists.01.org" , "Kinney, Michael D" CC: "Tian, Feng" , "Zeng, Star" , "Gao, Liming" , "Zhang, Chao B" Thread-Topic: [PATCH V4 01/15] MdeModulePkg/Include: Add FmpAuthenticationLib header. Thread-Index: AQHSLNQVMIfje84h9Eus5ZUdWoaz5qC524+ggACGF4D//5+Y0A== Date: Wed, 26 Oct 2016 02:06:15 +0000 Message-ID: References: <1477189240-11336-1-git-send-email-jiewen.yao@intel.com> <1477189240-11336-2-git-send-email-jiewen.yao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C50386B73CC@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C50386B73CC@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDk0ZjYzYjMtYjgzMy00Y2MxLWFjODUtYTE1Y2RiYjQ2ZTdlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6Im5admJrbng2dXloNDBjQlwvc2pYS1hQdDEyZjZUVlRZSGlsYjFLUHhaXC9kbz0ifQ== x-originating-ip: [10.22.254.138] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: [PATCH V4 01/15] MdeModulePkg/Include: Add FmpAuthenticationLib header. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Oct 2016 02:06:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Jiewen, I agree. Please just update function description. Mike From: Yao, Jiewen Sent: Tuesday, October 25, 2016 5:51 PM To: Kinney, Michael D ; edk2-devel@lists.01.org Cc: Tian, Feng ; Zeng, Star ; Gao= , Liming ; Zhang, Chao B Subject: RE: [PATCH V4 01/15] MdeModulePkg/Include: Add FmpAuthenticationLi= b header. Hi Mike Let me clarify: The function is used to do the authentication for FMP capsule based upon = EFI_FIRMWARE_IMAGE_AUTHENTICATION. This sentence is correct, because the capsule image input should be started= by EFI_FIRMWARE_IMAGE_AUTHENTICATION. LastAttemptStatus is the result of capsule process. The caller is expected = convert the return Status to LastAttemptStatus. It is recorded in ESRT entry and FMP.EFI_FIRMWARE_IMAGE_DESCRIPTOR in next = boot. Current consumer is SignedCapsulePkg\Library\EdkiiSystemCapsuleLib\ EdkiiSy= stemCapsuleLib.c, ExtractAuthenticatedImage() function. I agree with you that it is confusing. I will add more sentence to describe= . And I do not see any need to update function prototype. Do you think so? The typo is fixed. Thanks. From: Kinney, Michael D Sent: Wednesday, October 26, 2016 7:54 AM To: Yao, Jiewen >; edk2-d= evel@lists.01.org; Kinney, Michael D > Cc: Tian, Feng >; Zeng, Sta= r >; Gao, Liming >; Zhang, Chao B > Subject: RE: [PATCH V4 01/15] MdeModulePkg/Include: Add FmpAuthenticationLi= b header. Jiewen, I am confused by the description of this API. I refers to the LastAttemptStatus field, but that field is not in EFI_FIRMWARE_IMAGE_AUTHENTICATION structure. Instead, it is in the EFI_FIRMWARE_IMAGE_DESCRIPTOR structure. Is the prototype to this function correct? Can you also update the description to include which structure the LastAttemptStatus field is in and how it is found from the input parameters? One typo noted inline below. Thanks, Mike > -----Original Message----- > From: Yao, Jiewen > Sent: Saturday, October 22, 2016 7:20 PM > To: edk2-devel@lists.01.org > Cc: Tian, Feng >; Zeng, S= tar >; Kinney, Michael > D >; Gao, L= iming >; Zhang, Chao B > > > Subject: [PATCH V4 01/15] MdeModulePkg/Include: Add FmpAuthenticationLib = header. > > This library is used to authenticate a UEFI defined FMP Capsule. > > Cc: Feng Tian > > Cc: Star Zeng > > Cc: Michael D Kinney > > Cc: Liming Gao > > Cc: Chao Zhang > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao > > Reviewed-by: Liming Gao > > --- > MdeModulePkg/Include/Library/FmpAuthenticationLib.h | 57 +++++++++++++++= +++++ > 1 file changed, 57 insertions(+) > > diff --git a/MdeModulePkg/Include/Library/FmpAuthenticationLib.h > b/MdeModulePkg/Include/Library/FmpAuthenticationLib.h > new file mode 100644 > index 0000000..ed098d4 > --- /dev/null > +++ b/MdeModulePkg/Include/Library/FmpAuthenticationLib.h > @@ -0,0 +1,57 @@ > +/** @file > + FMP capsule authenitcation Library. > + > +Copyright (c) 2016, Intel Corporation. All rights reserved.
> +This program and the accompanying materials > +are licensed and made available under the terms and conditions of the BS= D License > +which accompanies this distribution. The full text of the license may b= e found at > +http://opensource.org/licenses/bsd-license.php > + > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED. > + > +**/ > + > + > +#ifndef __FMP_AUTHENTICATION_LIB_H__ > +#define __FMP_AUTHENTICATION_LIB_H__ > + > +#include > + > +/** > + The fucntion is used to do the authentication for FMP capsule based up= on Typo. Should be "The function is". > + EFI_FIRMWARE_IMAGE_AUTHENTICATION. > + > + The caller may convert the RETURN_STATUS to ESRT/FMP LastAttemptStatus= . > + > + Caution: This function may receive untrusted input. > + > + @param[in] Image Points to an FMP authentication im= age, started > from EFI_FIRMWARE_IMAGE_AUTHENTICATION. > + @param[in] ImageSize Size of the authentication image i= n bytes. > + @param[in] PublicKeyData The public key data used to valida= te the > signature. > + @param[in] PublicKeyDataLength The length of the public key data. > + > + @retval RETURN_SUCCESS Authentication pass. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_SUCCESS. > + @retval RETURN_SECURITY_VIOLATION Authentication fail. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR. > + @retval RETURN_INVALID_PARAMETER The image is in an invalid format. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT. > + @retval RETURN_UNSUPPORTED No Authentication handler associated= with > CertType. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT. > + @retval RETURN_UNSUPPORTED Image or ImageSize is invalid. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT. > + @retval RETURN_OUT_OF_RESOURCES No Authentication handler associated= with > CertType. > + The LastAttemptStatus should be > LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES. > +**/ > +RETURN_STATUS > +EFIAPI > +AuthenticateFmpImage ( > + IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image, > + IN UINTN ImageSize, > + IN CONST UINT8 *PublicKeyData, > + IN UINTN PublicKeyDataLength > + ); > + > +#endif > + > -- > 2.7.4.windows.1