Sample code for 30+ languages & platforms
Java

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

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.StringBuilder;
import com.chilkatsoft.chilkat2.XmlDSig;

public class ChilkatExample {

    public static void main(String[] args) {
        // 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
        StringBuilder sbXml = new StringBuilder();
        try {
            sbXml.loadFile("qa_data/xml_dsig/sii_cl/signed1.xml", "iso-8859-1");
        } catch (ChilkatException e) {
            System.out.println("Failed to load input file.");
            return;
        }

        XmlDSig dsig = new XmlDSig();

        try {
            dsig.loadSignatureSb(sbXml);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        boolean bVerifyReferenceDigests = true;
        boolean bVerified;
        try {
            dsig.verifySignature(bVerifyReferenceDigests);
            bVerified = true;
        } catch (ChilkatException e) {
            bVerified = false;
        }
        if (!bVerified) {
            System.out.println(dsig.getLastErrorText());
            return;
        }

        System.out.println("Signature verified = " + bVerified);
    }
}