/********************************************************************************* * * static functions implemented by Bin * *********************************************************************************/ static ANSC_HANDLE anscGetCertHandle ( void* raw_cert_data, ULONG raw_cert_size ) { PANSC_ASN1_CERTIFICATE pAsnCert = NULL; PUCHAR pBack = (PUCHAR)raw_cert_data; if( raw_cert_size < 32 || raw_cert_data == NULL) { return NULL; } /* create the asn.1 certificate handle */ pAsnCert = (PANSC_ASN1_CERTIFICATE)AnscAsn1CreateCertificate(NULL); if( pAsnCert == NULL) { return NULL; } /* decode it */ if( ANSC_STATUS_SUCCESS != pAsnCert->DecodingData(pAsnCert, (PVOID*)&pBack)) { pAsnCert->AsnFree(pAsnCert); return NULL; } return (ANSC_HANDLE)pAsnCert; }
static void anscFreeCertHandle ( ANSC_HANDLE hThisObject ) { PANSC_ASN1_CERTIFICATE pThisObject = (PANSC_ASN1_CERTIFICATE)hThisObject; if( pThisObject != NULL) { pThisObject->AsnFree(pThisObject); } }