From nobody Tue Feb 10 05:17:28 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+94996+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+94996+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1665500684; cv=none; d=zohomail.com; s=zohoarc; b=neVq8y/HIfsRLP0Dz3jaIC1k6OVDvmY5PCrrDZLY4GRSgiU49Uahh4lnP5OOlNDfUKf/+clv5jd/YcSHYkC+b8SQABIyfL9pCNMNCRUkw/BKFIkbv5hyNfMg6nWWTGcDkTc++/vHI/rtmbwuAt7DxIdI9PscANzlowWO3GGXC0U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1665500684; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=IgpwdmAc5GQDps8YBaZfUT8z7g7lhNpxL6xYReQFdiA=; b=W6GlfM+qgPKaIM29fi5zrcpobiQfSmJum6tjAfjAb4SXEvfDKXg8dp30mX2oXou7d+D/c/MojMEILr/l6UAxNCUY0+t8fP911U5mB3yQFSyYZrHkaz54ivOWbAUEm0lKBXpWkvoTdMjV9F5004zsp4xzNj06tPV0ALc/a7GSYEw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+94996+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1665500684048344.9033014346427; Tue, 11 Oct 2022 08:04:44 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id hbNbYY1788612xn98ucAf7ZX; Tue, 11 Oct 2022 08:04:43 -0700 X-Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.8590.1665500682014028134 for ; Tue, 11 Oct 2022 08:04:42 -0700 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="305581044" X-IronPort-AV: E=Sophos;i="5.95,176,1661842800"; d="scan'208";a="305581044" X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 08:04:07 -0700 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="604172813" X-IronPort-AV: E=Sophos;i="5.95,176,1661842800"; d="scan'208";a="604172813" X-Received: from mdkinney-mobl2.amr.corp.intel.com ([10.209.79.249]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 08:04:06 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jiewen Yao , Jian J Wang , Xiaoyu Lu , Guomin Jiang , Christopher Zurcher Subject: [edk2-devel] [Patch 03/12] CryptoPkg/Library/BaseCryptLib: Update internal functions/variables Date: Tue, 11 Oct 2022 08:03:49 -0700 Message-Id: <20221011150358.1332-4-michael.d.kinney@intel.com> In-Reply-To: <20221011150358.1332-1-michael.d.kinney@intel.com> References: <20221011150358.1332-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,michael.d.kinney@intel.com X-Gm-Message-State: QqFtfAd9ekWdGKr7t0r610MRx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1665500683; bh=h463Req98lM3SPkc+ZUDAomfl0F+Pt9Fcy9g5MGNHdE=; h=Cc:Date:From:Reply-To:Subject:To; b=TJVkcdHnDYPzDsIrGoYQ5sZ35Xw+5GTiRhaZdGJ29c9symeRv29iPVMB76nFLvSr1H4 4cFtRw3SpFV6tLtZZiDWDFmo3RfsVgpDI9SU7Oa1JCIHspVo9SEdF7EqoY6fbwkLccQ9h LJDPASKn+plxXvRgGSvq2wo2m8/cLbAKUXc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1665500684821100005 Content-Type: text/plain; charset="utf-8" * Update BaseCryptLib internal worker functions to be 'STATIC' * Update BaseCryptLib internal working functions to not use EFIAPI * Add GLOBAL_REMOVE_IF_UNREFERENCED to BaseCryptLib global variables Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Cc: Christopher Zurcher Signed-off-by: Michael D Kinney --- CryptoPkg/CryptoPkg.ci.yaml | 3 +- .../Library/BaseCryptLib/Hmac/CryptHmac.c | 7 +++ .../Library/BaseCryptLib/Kdf/CryptHkdf.c | 5 ++- .../BaseCryptLib/Pk/CryptAuthenticode.c | 2 +- .../BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c | 3 +- .../BaseCryptLib/Pk/CryptPkcs7VerifyEku.c | 3 ++ CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c | 44 +++++++++++++------ 7 files changed, 50 insertions(+), 17 deletions(-) diff --git a/CryptoPkg/CryptoPkg.ci.yaml b/CryptoPkg/CryptoPkg.ci.yaml index 2fa3a3d5ee05..ca129d6ae56c 100644 --- a/CryptoPkg/CryptoPkg.ci.yaml +++ b/CryptoPkg/CryptoPkg.ci.yaml @@ -24,7 +24,8 @@ "ExceptionList": [ "8001", "IsLeap", "8001", "OBJ_get0_data", - "8001", "OBJ_length" + "8001", "OBJ_length", + "5005", "X509PopCertificate" ], ## Both file path and directory path are accepted. "IgnoreFiles": [ diff --git a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmac.c b/CryptoPkg/Li= brary/BaseCryptLib/Hmac/CryptHmac.c index 2786267a0be1..1ae33b6709cb 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmac.c +++ b/CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmac.c @@ -16,6 +16,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent If the allocations fails, HmacMdNew() returns NULL. =20 **/ +STATIC VOID * HmacMdNew ( VOID @@ -33,6 +34,7 @@ HmacMdNew ( @param[in] HmacMdCtx Pointer to the HMAC_CTX context to be released. =20 **/ +STATIC VOID HmacMdFree ( IN VOID *HmacMdCtx @@ -59,6 +61,7 @@ HmacMdFree ( @retval FALSE The Key is set unsuccessfully. =20 **/ +STATIC BOOLEAN HmacMdSetKey ( IN CONST EVP_MD *Md, @@ -94,6 +97,7 @@ HmacMdSetKey ( @retval FALSE HMAC-MD context copy failed. =20 **/ +STATIC BOOLEAN HmacMdDuplicate ( IN CONST VOID *HmacMdContext, @@ -132,6 +136,7 @@ HmacMdDuplicate ( @retval FALSE HMAC-MD data digest failed. =20 **/ +STATIC BOOLEAN HmacMdUpdate ( IN OUT VOID *HmacMdContext, @@ -183,6 +188,7 @@ HmacMdUpdate ( @retval FALSE HMAC-MD digest computation failed. =20 **/ +STATIC BOOLEAN HmacMdFinal ( IN OUT VOID *HmacMdContext, @@ -233,6 +239,7 @@ HmacMdFinal ( @retval FALSE This interface is not supported. =20 **/ +STATIC BOOLEAN HmacMdAll ( IN CONST EVP_MD *Md, diff --git a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c b/CryptoPkg/Lib= rary/BaseCryptLib/Kdf/CryptHkdf.c index ffaf5fb131ac..34e81246ed0d 100644 --- a/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c +++ b/CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c @@ -6,7 +6,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 -#include +#include "InternalCryptLib.h" #include #include =20 @@ -27,6 +27,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent @retval FALSE Hkdf generation failed. =20 **/ +STATIC BOOLEAN HkdfMdExtractAndExpand ( IN CONST EVP_MD *Md, @@ -95,6 +96,7 @@ HkdfMdExtractAndExpand ( @retval false Hkdf generation failed. =20 **/ +STATIC BOOLEAN HkdfMdExtract ( IN CONST EVP_MD *Md, @@ -174,6 +176,7 @@ HkdfMdExtract ( @retval FALSE Hkdf generation failed. =20 **/ +STATIC BOOLEAN HkdfMdExpand ( IN CONST EVP_MD *Md, diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c b/Crypto= Pkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c index aa4a33364d92..6b0dddd4af55 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c @@ -23,7 +23,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // OID ASN.1 Value for SPC_INDIRECT_DATA_OBJID // -UINT8 mSpcIndirectOidValue[] =3D { +GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 mSpcIndirectOidValue[] =3D { 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04 }; =20 diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c b/C= ryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c index f8028181e47f..4e5a14e35210 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c @@ -22,7 +22,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include =20 -UINT8 mOidValue[9] =3D { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, = 0x02 }; +GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 mOidValue[9] =3D { 0x2A, 0x86, = 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 }; =20 /** Check input P7Data is a wrapped ContentInfo structure or not. If not con= struct @@ -145,6 +145,7 @@ WrapPkcs7Data ( @retval FALSE The pop operation failed. =20 **/ +STATIC BOOLEAN X509PopCertificate ( IN VOID *X509Stack, diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c b/Cryp= toPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c index 833b29ae9755..63cd49434e71 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c @@ -62,6 +62,7 @@ @retval EFI_NOT_FOUND The number of signers found was not 1. =20 **/ +STATIC EFI_STATUS GetSignerCertificate ( IN CONST PKCS7 *CertChain, @@ -132,6 +133,7 @@ GetSignerCertificate ( @retval EFI_NOT_FOUND One or more EKU's were not found in th= e signature. =20 **/ +STATIC EFI_STATUS IsEkuInCertificate ( IN CONST X509 *Cert, @@ -255,6 +257,7 @@ IsEkuInCertificate ( @retval EFI_INVALID_PARAMETER A parameter was invalid. @retval EFI_NOT_FOUND One or more EKU's were not found in th= e signature. **/ +STATIC EFI_STATUS CheckEKUs ( IN CONST X509 *SignerCert, diff --git a/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c b/CryptoPkg/Librar= y/BaseCryptLib/Pk/CryptTs.c index f118f2e9d6aa..027dbb6842dc 100644 --- a/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c +++ b/CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c @@ -21,7 +21,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // // OID ASN.1 Value for SPC_RFC3161_OBJID ("1.3.6.1.4.1.311.3.3.1") // -UINT8 mSpcRFC3161OidValue[] =3D { +GLOBAL_REMOVE_IF_UNREFERENCED const UINT8 mSpcRFC3161OidValue[] =3D { 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01 }; =20 @@ -43,11 +43,17 @@ typedef struct { // // ASN.1 Functions for TS_MESSAGE_IMPRINT // -DECLARE_ASN1_FUNCTIONS (TS_MESSAGE_IMPRINT) -ASN1_SEQUENCE (TS_MESSAGE_IMPRINT) =3D { +GLOBAL_REMOVE_IF_UNREFERENCED +DECLARE_ASN1_FUNCTIONS ( + TS_MESSAGE_IMPRINT + ) +ASN1_SEQUENCE (TS_MESSAGE_IMPRINT) =3D +{ ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashAlgorithm, X509_ALGOR), ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashedMessage, ASN1_OCTET_STRING) -} ASN1_SEQUENCE_END (TS_MESSAGE_IMPRINT) +} + +ASN1_SEQUENCE_END (TS_MESSAGE_IMPRINT) IMPLEMENT_ASN1_FUNCTIONS (TS_MESSAGE_IMPRINT) =20 /// @@ -68,12 +74,18 @@ typedef struct { // // ASN.1 Functions for TS_ACCURACY // -DECLARE_ASN1_FUNCTIONS (TS_ACCURACY) -ASN1_SEQUENCE (TS_ACCURACY) =3D { +GLOBAL_REMOVE_IF_UNREFERENCED +DECLARE_ASN1_FUNCTIONS ( + TS_ACCURACY + ) +ASN1_SEQUENCE (TS_ACCURACY) =3D +{ ASN1_OPT (TS_ACCURACY, Seconds, ASN1_INTEGER), ASN1_IMP_OPT (TS_ACCURACY, Millis, ASN1_INTEGER, 0), ASN1_IMP_OPT (TS_ACCURACY, Micros, ASN1_INTEGER, 1) -} ASN1_SEQUENCE_END (TS_ACCURACY) +} + +ASN1_SEQUENCE_END (TS_ACCURACY) IMPLEMENT_ASN1_FUNCTIONS (TS_ACCURACY) =20 /// @@ -114,8 +126,12 @@ typedef struct { // // ASN.1 Functions for TS_TST_INFO // -DECLARE_ASN1_FUNCTIONS (TS_TST_INFO) -ASN1_SEQUENCE (TS_TST_INFO) =3D { +GLOBAL_REMOVE_IF_UNREFERENCED +DECLARE_ASN1_FUNCTIONS ( + TS_TST_INFO + ) +ASN1_SEQUENCE (TS_TST_INFO) =3D +{ ASN1_SIMPLE (TS_TST_INFO, Version, ASN1_INTEGER), ASN1_SIMPLE (TS_TST_INFO, Policy, ASN1_OBJECT), ASN1_SIMPLE (TS_TST_INFO, MessageImprint, TS_MESSAGE_IMPRIN= T), @@ -126,7 +142,9 @@ ASN1_SEQUENCE (TS_TST_INFO) =3D { ASN1_OPT (TS_TST_INFO, Nonce, ASN1_INTEGER), ASN1_EXP_OPT (TS_TST_INFO, Tsa, GENERAL_NAME, = 0), ASN1_IMP_SEQUENCE_OF_OPT (TS_TST_INFO, Extensions, X509_EXTENSION, = 1) -} ASN1_SEQUENCE_END (TS_TST_INFO) +} + +ASN1_SEQUENCE_END (TS_TST_INFO) IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO) =20 /** @@ -139,8 +157,8 @@ IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO) @retval FALSE Invalid parameters. =20 **/ +STATIC BOOLEAN -EFIAPI ConvertAsn1TimeToEfiTime ( IN ASN1_TIME *Asn1Time, OUT EFI_TIME *EfiTime @@ -222,8 +240,8 @@ ConvertAsn1TimeToEfiTime ( @retval FALSE Invalid TimeStamp Token Information. =20 **/ +STATIC BOOLEAN -EFIAPI CheckTSTInfo ( IN CONST TS_TST_INFO *TstInfo, IN CONST UINT8 *TimestampedData, @@ -352,8 +370,8 @@ CheckTSTInfo ( @retval FALSE Invalid timestamp token. =20 **/ +STATIC BOOLEAN -EFIAPI TimestampTokenVerify ( IN CONST UINT8 *TSToken, IN UINTN TokenSize, --=20 2.37.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#94996): https://edk2.groups.io/g/devel/message/94996 Mute This Topic: https://groups.io/mt/94260735/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-