Unicode C
Unicode C
Extract XML string from a .p7m byte array (e.g. FATTURA ELETTRONICA, ITALY)
See more Digital Signatures Examples
_LANGUAGE_ example to extract the original XML from a .p7m (Signed-Data PKCS7 Format) provided as a byte array.One use for this example is to extract the original XML from a Fattura Elettronica .p7m signature.
Chilkat Unicode C Downloads
#include <C_CkFileAccessW.h>
#include <C_CkByteData.h>
#include <C_CkCrypt2W.h>
void ChilkatSample(void)
{
HCkFileAccessW fac;
HCkByteData p7mBytes;
HCkCrypt2W crypt;
const wchar_t *originalXml;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
fac = CkFileAccessW_Create();
p7mBytes = CkByteData_Create();
success = CkFileAccessW_ReadEntireFile(fac,L"testData/p7m/fattura_signature.p7m",p7mBytes);
if (CkFileAccessW_getLastMethodSuccess(fac) != TRUE) {
wprintf(L"%s\n",CkFileAccessW_lastErrorText(fac));
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(p7mBytes);
return;
}
crypt = CkCrypt2W_Create();
originalXml = CkCrypt2W_opaqueVerifyString(crypt,p7mBytes);
if (CkCrypt2W_getLastMethodSuccess(crypt) != TRUE) {
wprintf(L"%s\n",CkFileAccessW_lastErrorText(fac));
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(p7mBytes);
CkCrypt2W_Dispose(crypt);
return;
}
wprintf(L"Original XML:\n");
wprintf(L"%s\n",originalXml);
wprintf(L"Success!\n");
CkFileAccessW_Dispose(fac);
CkByteData_Dispose(p7mBytes);
CkCrypt2W_Dispose(crypt);
}