Unicode C
Unicode C
Verify Factura Electronica Chile SII (iso-8859-1)
See more XAdES Examples
Demonstrates how to verify SII XML stored as iso-8859-1 having just a single signature.Chilkat Unicode C Downloads
#include <C_CkStringBuilderW.h>
#include <C_CkXmlDSigW.h>
void ChilkatSample(void)
{
BOOL success;
HCkStringBuilderW sbXml;
HCkXmlDSigW dsig;
BOOL bVerifyReferenceDigests;
BOOL bVerified;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The signed XML to be verified in this example contains the following:
// <?xml version="1.0" encoding="ISO-8859-1"?>
// <DTE version="1.0" xmlns="http://www.sii.cl/SiiDte">
// <Documento ID="F13T34">
// ...
// </Documento>
// <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
// ....
// </Signature>
// </DTE>
// Load the signed XML into sbXml -- telling Chilkat to interpret the bytes as iso-8859-1
sbXml = CkStringBuilderW_Create();
success = CkStringBuilderW_LoadFile(sbXml,L"qa_data/xml_dsig/sii_cl/signed1.xml",L"iso-8859-1");
if (success == FALSE) {
wprintf(L"Failed to load input file.\n");
CkStringBuilderW_Dispose(sbXml);
return;
}
dsig = CkXmlDSigW_Create();
success = CkXmlDSigW_LoadSignatureSb(dsig,sbXml);
if (success != TRUE) {
wprintf(L"%s\n",CkXmlDSigW_lastErrorText(dsig));
CkStringBuilderW_Dispose(sbXml);
CkXmlDSigW_Dispose(dsig);
return;
}
bVerifyReferenceDigests = TRUE;
bVerified = CkXmlDSigW_VerifySignature(dsig,bVerifyReferenceDigests);
if (bVerified == FALSE) {
wprintf(L"%s\n",CkXmlDSigW_lastErrorText(dsig));
CkStringBuilderW_Dispose(sbXml);
CkXmlDSigW_Dispose(dsig);
return;
}
wprintf(L"Signature verified = %d\n",bVerified);
CkStringBuilderW_Dispose(sbXml);
CkXmlDSigW_Dispose(dsig);
}