OUT UINT8 **SingleX509Cert\r
)\r
{\r
- BIO *CertBio;\r
X509 *X509Cert;\r
- BOOLEAN Status;\r
\r
//\r
// Check input parameters.\r
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