Sample code for 30+ languages & platforms
Rust

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

Rust

// 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 sb_xml = chilkat::StringBuilder::new();
if sb_xml.load_file("qa_data/xml_dsig/sii_cl/signed1.xml", "iso-8859-1").is_err() {
    println!("Failed to load input file.");
    return;
}

let dsig = chilkat::XmlDSig::new();

if dsig.load_signature_sb(&sb_xml).is_err() {
    println!("{}", dsig.last_error_text());
    return;
}

let b_verify_reference_digests = true;
let b_verified = dsig.verify_signature(b_verify_reference_digests).is_ok();
if !b_verified {
    println!("{}", dsig.last_error_text());
    return;
}

println!("Signature verified = {}", b_verified);