[edk2-devel] [PATCH v1 1/1] Adding changes for issue with Certificate Validation Bug 2433 - HTTPS Certificate Enrollment Issue

INDIA\sivaramann emergingsiva at gmail.com
Fri Dec 11 12:09:27 UTC 2020


---
 NetworkPkg/HttpDxe/HttpsSupport.c | 16 +++++++++++-----
 edk2.diff.order                   |  8 ++++++++
 tianocore.template                |  3 +++
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c b/NetworkPkg/HttpDxe/HttpsSupport.c
index 7e0bf85c3c42..5bf2ecec4baa 100644
--- a/NetworkPkg/HttpDxe/HttpsSupport.c
+++ b/NetworkPkg/HttpDxe/HttpsSupport.c
@@ -380,6 +380,7 @@ TlsConfigCertificate (
   EFI_SIGNATURE_DATA  *Cert;
   UINTN               CertArraySizeInBytes;
   UINTN               CertCount;
+  BOOLEAN             CertValidFlag;
   UINT32              ItemDataSize;
 
   CACert     = NULL;
@@ -493,6 +494,7 @@ TlsConfigCertificate (
   //
   ItemDataSize = (UINT32) CACertSize;
   CertList = (EFI_SIGNATURE_LIST *) CACert;
+  CertValidFlag = 0;
   while ((ItemDataSize > 0) && (ItemDataSize >= CertList->SignatureListSize)) {
     Cert = (EFI_SIGNATURE_DATA *) ((UINT8 *) CertList + sizeof (EFI_SIGNATURE_LIST) + CertList->SignatureHeaderSize);
     CertCount  = (CertList->SignatureListSize - sizeof (EFI_SIGNATURE_LIST) - CertList->SignatureHeaderSize) / CertList->SignatureSize;
@@ -506,17 +508,21 @@ TlsConfigCertificate (
                                                  Cert->SignatureData,
                                                  CertList->SignatureSize - sizeof (Cert->SignatureOwner)
                                                  );
-      if (EFI_ERROR (Status)) {
-        goto FreeCACert;
-      }
+      if (!EFI_ERROR (Status)) {
+          CertValidFlag = 1;
+        }
+      else
+          break;
 
       Cert = (EFI_SIGNATURE_DATA *) ((UINT8 *) Cert + CertList->SignatureSize);
     }
 
     ItemDataSize -= CertList->SignatureListSize;
     CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + CertList->SignatureListSize);
-  }
-
+    
+    }
+  if(CertValidFlag == 1)
+      Status = EFI_SUCCESS;
 FreeCACert:
   FreePool (CACert);
   return Status;
diff --git a/edk2.diff.order b/edk2.diff.order
new file mode 100644
index 000000000000..1d578ac28cca
--- /dev/null
+++ b/edk2.diff.order
@@ -0,0 +1,8 @@
+*.dec
+*.dsc.inc
+*.dsc
+*.fdf
+*.inf
+*.h
+*.vfr
+*.c
diff --git a/tianocore.template b/tianocore.template
new file mode 100644
index 000000000000..cfc4bdddc4cc
--- /dev/null
+++ b/tianocore.template
@@ -0,0 +1,3 @@
+[empty line]
+[empty line]
+Signed-off-by: Sivaraman <sivaramann at ami.com>
-- 
2.28.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68725): https://edk2.groups.io/g/devel/message/68725
Mute This Topic: https://groups.io/mt/78887450/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list