Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vSbXml
    Handle hoSbXml
    Handle hoDsig
    Boolean iBVerifyReferenceDigests
    Boolean iBVerified
    String sTemp1

    Move False To iSuccess

    // 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 
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbXml
    If (Not(IsComObjectCreated(hoSbXml))) Begin
        Send CreateComObject of hoSbXml
    End
    Get ComLoadFile Of hoSbXml "qa_data/xml_dsig/sii_cl/signed1.xml" "iso-8859-1" To iSuccess
    If (iSuccess = False) Begin
        Showln "Failed to load input file."
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatXmlDSig)) To hoDsig
    If (Not(IsComObjectCreated(hoDsig))) Begin
        Send CreateComObject of hoDsig
    End

    Get pvComObject of hoSbXml to vSbXml
    Get ComLoadSignatureSb Of hoDsig vSbXml To iSuccess
    If (iSuccess <> True) Begin
        Get ComLastErrorText Of hoDsig To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Move True To iBVerifyReferenceDigests
    Get ComVerifySignature Of hoDsig iBVerifyReferenceDigests To iBVerified
    If (iBVerified = False) Begin
        Get ComLastErrorText Of hoDsig To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Signature verified = " iBVerified


End_Procedure