]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CryptoPkg/Library/BaseCryptLib: Update internal functions/variables
authorMichael D Kinney <michael.d.kinney@intel.com>
Tue, 4 Oct 2022 03:45:20 +0000 (20:45 -0700)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 24 Oct 2022 07:49:43 +0000 (07:49 +0000)
* 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 <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Christopher Zurcher <christopher.zurcher@microsoft.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
CryptoPkg/CryptoPkg.ci.yaml
CryptoPkg/Library/BaseCryptLib/Hmac/CryptHmac.c
CryptoPkg/Library/BaseCryptLib/Kdf/CryptHkdf.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptAuthenticode.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyCommon.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptPkcs7VerifyEku.c
CryptoPkg/Library/BaseCryptLib/Pk/CryptTs.c

index 2fa3a3d5ee05eafa61037356d0b6f8143ef0983a..ca129d6ae56c49a1f0670915118213f2b8bf5e74 100644 (file)
@@ -24,7 +24,8 @@
         "ExceptionList": [\r
             "8001", "IsLeap",\r
             "8001", "OBJ_get0_data",\r
         "ExceptionList": [\r
             "8001", "IsLeap",\r
             "8001", "OBJ_get0_data",\r
-            "8001", "OBJ_length"\r
+            "8001", "OBJ_length",\r
+            "5005", "X509PopCertificate"\r
         ],\r
         ## Both file path and directory path are accepted.\r
         "IgnoreFiles": [\r
         ],\r
         ## Both file path and directory path are accepted.\r
         "IgnoreFiles": [\r
index 2786267a0be13dd4ceb3bbc13fabfda2c7b895f6..1ae33b6709cb6aa263a299f51cb814d79898bae4 100644 (file)
@@ -16,6 +16,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
            If the allocations fails, HmacMdNew() returns NULL.\r
 \r
 **/\r
            If the allocations fails, HmacMdNew() returns NULL.\r
 \r
 **/\r
+STATIC\r
 VOID *\r
 HmacMdNew (\r
   VOID\r
 VOID *\r
 HmacMdNew (\r
   VOID\r
@@ -33,6 +34,7 @@ HmacMdNew (
   @param[in]  HmacMdCtx  Pointer to the HMAC_CTX context to be released.\r
 \r
 **/\r
   @param[in]  HmacMdCtx  Pointer to the HMAC_CTX context to be released.\r
 \r
 **/\r
+STATIC\r
 VOID\r
 HmacMdFree (\r
   IN  VOID  *HmacMdCtx\r
 VOID\r
 HmacMdFree (\r
   IN  VOID  *HmacMdCtx\r
@@ -59,6 +61,7 @@ HmacMdFree (
   @retval FALSE  The Key is set unsuccessfully.\r
 \r
 **/\r
   @retval FALSE  The Key is set unsuccessfully.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HmacMdSetKey (\r
   IN   CONST EVP_MD  *Md,\r
 BOOLEAN\r
 HmacMdSetKey (\r
   IN   CONST EVP_MD  *Md,\r
@@ -94,6 +97,7 @@ HmacMdSetKey (
   @retval FALSE  HMAC-MD context copy failed.\r
 \r
 **/\r
   @retval FALSE  HMAC-MD context copy failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HmacMdDuplicate (\r
   IN   CONST VOID  *HmacMdContext,\r
 BOOLEAN\r
 HmacMdDuplicate (\r
   IN   CONST VOID  *HmacMdContext,\r
@@ -132,6 +136,7 @@ HmacMdDuplicate (
   @retval FALSE  HMAC-MD data digest failed.\r
 \r
 **/\r
   @retval FALSE  HMAC-MD data digest failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HmacMdUpdate (\r
   IN OUT  VOID        *HmacMdContext,\r
 BOOLEAN\r
 HmacMdUpdate (\r
   IN OUT  VOID        *HmacMdContext,\r
@@ -183,6 +188,7 @@ HmacMdUpdate (
   @retval FALSE  HMAC-MD digest computation failed.\r
 \r
 **/\r
   @retval FALSE  HMAC-MD digest computation failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HmacMdFinal (\r
   IN OUT  VOID   *HmacMdContext,\r
 BOOLEAN\r
 HmacMdFinal (\r
   IN OUT  VOID   *HmacMdContext,\r
@@ -233,6 +239,7 @@ HmacMdFinal (
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
   @retval FALSE  This interface is not supported.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HmacMdAll (\r
   IN   CONST EVP_MD  *Md,\r
 BOOLEAN\r
 HmacMdAll (\r
   IN   CONST EVP_MD  *Md,\r
index ffaf5fb131ac49b855dd23a151b4a07ff265fdb9..34e81246ed0da726dcd6e7f718f231208a534f80 100644 (file)
@@ -6,7 +6,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 \r
 **/\r
 \r
 \r
 **/\r
 \r
-#include <Library/BaseCryptLib.h>\r
+#include "InternalCryptLib.h"\r
 #include <openssl/evp.h>\r
 #include <openssl/kdf.h>\r
 \r
 #include <openssl/evp.h>\r
 #include <openssl/kdf.h>\r
 \r
@@ -27,6 +27,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
   @retval FALSE  Hkdf generation failed.\r
 \r
 **/\r
   @retval FALSE  Hkdf generation failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HkdfMdExtractAndExpand (\r
   IN   CONST EVP_MD  *Md,\r
 BOOLEAN\r
 HkdfMdExtractAndExpand (\r
   IN   CONST EVP_MD  *Md,\r
@@ -95,6 +96,7 @@ HkdfMdExtractAndExpand (
   @retval false  Hkdf generation failed.\r
 \r
 **/\r
   @retval false  Hkdf generation failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HkdfMdExtract (\r
   IN CONST EVP_MD  *Md,\r
 BOOLEAN\r
 HkdfMdExtract (\r
   IN CONST EVP_MD  *Md,\r
@@ -174,6 +176,7 @@ HkdfMdExtract (
   @retval FALSE  Hkdf generation failed.\r
 \r
 **/\r
   @retval FALSE  Hkdf generation failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 HkdfMdExpand (\r
   IN   CONST EVP_MD  *Md,\r
 BOOLEAN\r
 HkdfMdExpand (\r
   IN   CONST EVP_MD  *Md,\r
index aa4a33364d9240fc2b245af4942e4577f209282e..6b0dddd4af5533d7e3f3ce619cbca9d26325572e 100644 (file)
@@ -23,7 +23,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //\r
 // OID ASN.1 Value for SPC_INDIRECT_DATA_OBJID\r
 //\r
 //\r
 // OID ASN.1 Value for SPC_INDIRECT_DATA_OBJID\r
 //\r
-UINT8  mSpcIndirectOidValue[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED const UINT8  mSpcIndirectOidValue[] = {\r
   0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04\r
 };\r
 \r
   0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04\r
 };\r
 \r
index f8028181e47fd6080ed482a589595703ba827d10..4e5a14e35210789a12aa4903c77b2c6e2bc40ced 100644 (file)
@@ -22,7 +22,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include <openssl/x509v3.h>\r
 #include <openssl/pkcs7.h>\r
 \r
 #include <openssl/x509v3.h>\r
 #include <openssl/pkcs7.h>\r
 \r
-UINT8  mOidValue[9] = { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 };\r
+GLOBAL_REMOVE_IF_UNREFERENCED const UINT8  mOidValue[9] = { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 };\r
 \r
 /**\r
   Check input P7Data is a wrapped ContentInfo structure or not. If not construct\r
 \r
 /**\r
   Check input P7Data is a wrapped ContentInfo structure or not. If not construct\r
@@ -145,6 +145,7 @@ WrapPkcs7Data (
   @retval     FALSE           The pop operation failed.\r
 \r
 **/\r
   @retval     FALSE           The pop operation failed.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 X509PopCertificate (\r
   IN  VOID   *X509Stack,\r
 BOOLEAN\r
 X509PopCertificate (\r
   IN  VOID   *X509Stack,\r
index 833b29ae97551b672abb7b3482e0a48110ff7ba3..63cd49434e71b35d5983d6426197545e5a66e8ad 100644 (file)
@@ -62,6 +62,7 @@
   @retval EFI_NOT_FOUND             The number of signers found was not 1.\r
 \r
 **/\r
   @retval EFI_NOT_FOUND             The number of signers found was not 1.\r
 \r
 **/\r
+STATIC\r
 EFI_STATUS\r
 GetSignerCertificate (\r
   IN CONST PKCS7  *CertChain,\r
 EFI_STATUS\r
 GetSignerCertificate (\r
   IN CONST PKCS7  *CertChain,\r
@@ -132,6 +133,7 @@ Exit:
   @retval EFI_NOT_FOUND             One or more EKU's were not found in the signature.\r
 \r
 **/\r
   @retval EFI_NOT_FOUND             One or more EKU's were not found in the signature.\r
 \r
 **/\r
+STATIC\r
 EFI_STATUS\r
 IsEkuInCertificate (\r
   IN CONST X509   *Cert,\r
 EFI_STATUS\r
 IsEkuInCertificate (\r
   IN CONST X509   *Cert,\r
@@ -255,6 +257,7 @@ Exit:
   @retval EFI_INVALID_PARAMETER     A parameter was invalid.\r
   @retval EFI_NOT_FOUND             One or more EKU's were not found in the signature.\r
 **/\r
   @retval EFI_INVALID_PARAMETER     A parameter was invalid.\r
   @retval EFI_NOT_FOUND             One or more EKU's were not found in the signature.\r
 **/\r
+STATIC\r
 EFI_STATUS\r
 CheckEKUs (\r
   IN CONST X509    *SignerCert,\r
 EFI_STATUS\r
 CheckEKUs (\r
   IN CONST X509    *SignerCert,\r
index f118f2e9d6aa913e5a906f1ff066b07ae6f12eb1..027dbb6842dc552b3b234aedc9756458d7aab061 100644 (file)
@@ -21,7 +21,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //\r
 // OID ASN.1 Value for SPC_RFC3161_OBJID ("1.3.6.1.4.1.311.3.3.1")\r
 //\r
 //\r
 // OID ASN.1 Value for SPC_RFC3161_OBJID ("1.3.6.1.4.1.311.3.3.1")\r
 //\r
-UINT8  mSpcRFC3161OidValue[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED const UINT8  mSpcRFC3161OidValue[] = {\r
   0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01\r
 };\r
 \r
   0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01\r
 };\r
 \r
@@ -43,11 +43,17 @@ typedef struct {
 //\r
 // ASN.1 Functions for TS_MESSAGE_IMPRINT\r
 //\r
 //\r
 // ASN.1 Functions for TS_MESSAGE_IMPRINT\r
 //\r
-DECLARE_ASN1_FUNCTIONS (TS_MESSAGE_IMPRINT)\r
-ASN1_SEQUENCE (TS_MESSAGE_IMPRINT) = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED\r
+DECLARE_ASN1_FUNCTIONS (\r
+  TS_MESSAGE_IMPRINT\r
+  )\r
+ASN1_SEQUENCE (TS_MESSAGE_IMPRINT) =\r
+{\r
   ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashAlgorithm, X509_ALGOR),\r
   ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashedMessage, ASN1_OCTET_STRING)\r
   ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashAlgorithm, X509_ALGOR),\r
   ASN1_SIMPLE (TS_MESSAGE_IMPRINT, HashedMessage, ASN1_OCTET_STRING)\r
-} ASN1_SEQUENCE_END (TS_MESSAGE_IMPRINT)\r
+}\r
+\r
+ASN1_SEQUENCE_END (TS_MESSAGE_IMPRINT)\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_MESSAGE_IMPRINT)\r
 \r
 ///\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_MESSAGE_IMPRINT)\r
 \r
 ///\r
@@ -68,12 +74,18 @@ typedef struct {
 //\r
 // ASN.1 Functions for TS_ACCURACY\r
 //\r
 //\r
 // ASN.1 Functions for TS_ACCURACY\r
 //\r
-DECLARE_ASN1_FUNCTIONS (TS_ACCURACY)\r
-ASN1_SEQUENCE (TS_ACCURACY) = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED\r
+DECLARE_ASN1_FUNCTIONS (\r
+  TS_ACCURACY\r
+  )\r
+ASN1_SEQUENCE (TS_ACCURACY) =\r
+{\r
   ASN1_OPT (TS_ACCURACY,     Seconds, ASN1_INTEGER),\r
   ASN1_IMP_OPT (TS_ACCURACY, Millis,  ASN1_INTEGER, 0),\r
   ASN1_IMP_OPT (TS_ACCURACY, Micros,  ASN1_INTEGER, 1)\r
   ASN1_OPT (TS_ACCURACY,     Seconds, ASN1_INTEGER),\r
   ASN1_IMP_OPT (TS_ACCURACY, Millis,  ASN1_INTEGER, 0),\r
   ASN1_IMP_OPT (TS_ACCURACY, Micros,  ASN1_INTEGER, 1)\r
-} ASN1_SEQUENCE_END (TS_ACCURACY)\r
+}\r
+\r
+ASN1_SEQUENCE_END (TS_ACCURACY)\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_ACCURACY)\r
 \r
 ///\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_ACCURACY)\r
 \r
 ///\r
@@ -114,8 +126,12 @@ typedef struct {
 //\r
 // ASN.1 Functions for TS_TST_INFO\r
 //\r
 //\r
 // ASN.1 Functions for TS_TST_INFO\r
 //\r
-DECLARE_ASN1_FUNCTIONS (TS_TST_INFO)\r
-ASN1_SEQUENCE (TS_TST_INFO) = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED\r
+DECLARE_ASN1_FUNCTIONS (\r
+  TS_TST_INFO\r
+  )\r
+ASN1_SEQUENCE (TS_TST_INFO) =\r
+{\r
   ASN1_SIMPLE (TS_TST_INFO,              Version,        ASN1_INTEGER),\r
   ASN1_SIMPLE (TS_TST_INFO,              Policy,         ASN1_OBJECT),\r
   ASN1_SIMPLE (TS_TST_INFO,              MessageImprint, TS_MESSAGE_IMPRINT),\r
   ASN1_SIMPLE (TS_TST_INFO,              Version,        ASN1_INTEGER),\r
   ASN1_SIMPLE (TS_TST_INFO,              Policy,         ASN1_OBJECT),\r
   ASN1_SIMPLE (TS_TST_INFO,              MessageImprint, TS_MESSAGE_IMPRINT),\r
@@ -126,7 +142,9 @@ ASN1_SEQUENCE (TS_TST_INFO) = {
   ASN1_OPT (TS_TST_INFO,                 Nonce,          ASN1_INTEGER),\r
   ASN1_EXP_OPT (TS_TST_INFO,             Tsa,            GENERAL_NAME,         0),\r
   ASN1_IMP_SEQUENCE_OF_OPT (TS_TST_INFO, Extensions,     X509_EXTENSION,       1)\r
   ASN1_OPT (TS_TST_INFO,                 Nonce,          ASN1_INTEGER),\r
   ASN1_EXP_OPT (TS_TST_INFO,             Tsa,            GENERAL_NAME,         0),\r
   ASN1_IMP_SEQUENCE_OF_OPT (TS_TST_INFO, Extensions,     X509_EXTENSION,       1)\r
-} ASN1_SEQUENCE_END (TS_TST_INFO)\r
+}\r
+\r
+ASN1_SEQUENCE_END (TS_TST_INFO)\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO)\r
 \r
 /**\r
 IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO)\r
 \r
 /**\r
@@ -139,8 +157,8 @@ IMPLEMENT_ASN1_FUNCTIONS (TS_TST_INFO)
   @retval  FALSE  Invalid parameters.\r
 \r
 **/\r
   @retval  FALSE  Invalid parameters.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 BOOLEAN\r
-EFIAPI\r
 ConvertAsn1TimeToEfiTime (\r
   IN  ASN1_TIME  *Asn1Time,\r
   OUT EFI_TIME   *EfiTime\r
 ConvertAsn1TimeToEfiTime (\r
   IN  ASN1_TIME  *Asn1Time,\r
   OUT EFI_TIME   *EfiTime\r
@@ -222,8 +240,8 @@ ConvertAsn1TimeToEfiTime (
   @retval  FALSE  Invalid TimeStamp Token Information.\r
 \r
 **/\r
   @retval  FALSE  Invalid TimeStamp Token Information.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 BOOLEAN\r
-EFIAPI\r
 CheckTSTInfo (\r
   IN  CONST TS_TST_INFO  *TstInfo,\r
   IN  CONST UINT8        *TimestampedData,\r
 CheckTSTInfo (\r
   IN  CONST TS_TST_INFO  *TstInfo,\r
   IN  CONST UINT8        *TimestampedData,\r
@@ -352,8 +370,8 @@ _Exit:
   @retval  FALSE  Invalid timestamp token.\r
 \r
 **/\r
   @retval  FALSE  Invalid timestamp token.\r
 \r
 **/\r
+STATIC\r
 BOOLEAN\r
 BOOLEAN\r
-EFIAPI\r
 TimestampTokenVerify (\r
   IN  CONST UINT8  *TSToken,\r
   IN  UINTN        TokenSize,\r
 TimestampTokenVerify (\r
   IN  CONST UINT8  *TSToken,\r
   IN  UINTN        TokenSize,\r