]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c
1. Enable the whole X509v3 extension checking.
[mirror_edk2.git] / CryptoPkg / Library / BaseCryptLib / Pk / CryptX509.c
index 5959dfe7d90bb6c6e6071132ac9220f69e606f28..5abe970cceac130f02b295855258a5088a68d246 100644 (file)
@@ -38,9 +38,7 @@ X509ConstructCertificate (
   OUT  UINT8        **SingleX509Cert\r
   )\r
 {\r
-  BIO      *CertBio;\r
   X509     *X509Cert;\r
-  BOOLEAN  Status;\r
 \r
   //\r
   // Check input parameters.\r
@@ -49,31 +47,17 @@ X509ConstructCertificate (
     return FALSE;\r
   }\r
 \r
-  Status = FALSE;\r
-\r
   //\r
   // Read DER-encoded X509 Certificate and Construct X509 object.\r
   //\r
-  CertBio = BIO_new (BIO_s_mem ());\r
-  BIO_write (CertBio, Cert, (int) CertSize);\r
-  if (CertBio == NULL) {\r
-    goto _Exit;\r
-  }\r
-  X509Cert = d2i_X509_bio (CertBio, NULL);\r
+  X509Cert = d2i_X509 (NULL, &Cert, (long) CertSize);\r
   if (X509Cert == NULL) {\r
-    goto _Exit;\r
+    return FALSE;\r
   }\r
 \r
   *SingleX509Cert = (UINT8 *) X509Cert;\r
-  Status = TRUE;\r
 \r
-_Exit:\r
-  //\r
-  // Release Resources.\r
-  //\r
-  BIO_free (CertBio);\r
-\r
-  return Status;\r
+  return TRUE;\r
 }\r
 \r
 /**\r