Sample code for 30+ languages & platforms
Swift

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

Swift

func chilkatTest() {
    var success: Bool = 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 
    let sbXml = CkoStringBuilder()!
    success = sbXml.loadFile(path: "qa_data/xml_dsig/sii_cl/signed1.xml", charset: "iso-8859-1")
    if success == false {
        print("Failed to load input file.")
        return
    }

    let dsig = CkoXmlDSig()!

    success = dsig.loadSignatureSb(sbXmlSig: sbXml)
    if success != true {
        print("\(dsig.lastErrorText!)")
        return
    }

    var bVerifyReferenceDigests: Bool = true
    var bVerified: Bool = dsig.verifySignature(verifyReferenceDigests: bVerifyReferenceDigests)
    if bVerified == false {
        print("\(dsig.lastErrorText!)")
        return
    }

    print("Signature verified = \(bVerified)")

}