Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSbXml
LOCAL loDsig
LOCAL lnBVerifyReferenceDigests
LOCAL lnBVerified

lnSuccess = 0

* 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 
loSbXml = CreateObject('Chilkat.StringBuilder')
lnSuccess = loSbXml.LoadFile("qa_data/xml_dsig/sii_cl/signed1.xml","iso-8859-1")
IF (lnSuccess = 0) THEN
    ? "Failed to load input file."
    RELEASE loSbXml
    CANCEL
ENDIF

loDsig = CreateObject('Chilkat.XmlDSig')

lnSuccess = loDsig.LoadSignatureSb(loSbXml)
IF (lnSuccess <> 1) THEN
    ? loDsig.LastErrorText
    RELEASE loSbXml
    RELEASE loDsig
    CANCEL
ENDIF

lnBVerifyReferenceDigests = 1
lnBVerified = loDsig.VerifySignature(lnBVerifyReferenceDigests)
IF (lnBVerified = 0) THEN
    ? loDsig.LastErrorText
    RELEASE loSbXml
    RELEASE loDsig
    CANCEL
ENDIF

? "Signature verified = " + STR(lnBVerified)

RELEASE loSbXml
RELEASE loDsig