本文整理汇总了C++中PANSC_ASN1_CERTIFICATE::DecodingData方法的典型用法代码示例。如果您正苦于以下问题:C++ PANSC_ASN1_CERTIFICATE::DecodingData方法的具体用法?C++ PANSC_ASN1_CERTIFICATE::DecodingData怎么用?C++ PANSC_ASN1_CERTIFICATE::DecodingData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PANSC_ASN1_CERTIFICATE
的用法示例。
在下文中一共展示了PANSC_ASN1_CERTIFICATE::DecodingData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: return
/*********************************************************************************
*
* 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;
}
示例2: AnscSListPushEntryAtBack
/**************************************************************************************
*
* static callback functions to get cert and key info from PKCS12.
*
**************************************************************************************/
ANSC_STATUS
initProc
(
ANSC_HANDLE hContext,
PUCHAR pCertEncoding,
ULONG ulCertSize,
PUCHAR pKeyEncoding,
ULONG ulKeyInfoSize
)
{
PPKI_CLIENT_ENTITY pThisObject = (PPKI_CLIENT_ENTITY)hContext;
PALCERT_CONTEXT pCertContext = NULL;
PANSC_ASN1_CERTIFICATE pNewCert;
PUCHAR pEncoding;
if( pCertEncoding == NULL || ulCertSize == 0)
{
return ANSC_STATUS_FAILURE;
}
pCertContext = (PALCERT_CONTEXT)pThisObject->hContainerContext;
if( pKeyEncoding == NULL || ulKeyInfoSize == 0)
{
/* add the ca cert */
if( pCertContext == NULL)
{
pNewCert = (PANSC_ASN1_CERTIFICATE)AnscAsn1CreateCertificate(NULL);
pEncoding= pCertEncoding;
pNewCert->DecodingData(pNewCert,(PVOID*)&pEncoding);
AnscSListPushEntryAtBack(&pThisObject->sCAList, &pNewCert->Linkage);
}
else
{
pCertContext->AddTrustedCA
(
pCertContext,
"",
pCertEncoding,
ulCertSize
);
}
}
else
{
pThisObject->SetIssuedCert(pThisObject, pCertEncoding, ulCertSize);
pThisObject->SetPrivateKeyInfo(pThisObject, pKeyEncoding, ulKeyInfoSize);
}
if( pThisObject->pCertAttr != NULL)
{
pThisObject->pCertAttr->Remove(pThisObject->pCertAttr);
}
pThisObject->pCertAttr = GenerateAttrByCertificate(pThisObject->hUserCert);
return ANSC_STATUS_SUCCESS;
}