Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // 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 
  final sbXml = CkStringBuilder();
  try {
    sbXml.loadFile('qa_data/xml_dsig/sii_cl/signed1.xml', 'iso-8859-1');
  } on ChilkatException {
    print('Failed to load input file.');
    return;
  }

  final dsig = CkXmlDSig();

  try {
    dsig.loadSignatureSb(sbXml);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final bVerifyReferenceDigests = true;
  var bVerified = true;
  try {
    dsig.verifySignature(bVerifyReferenceDigests);
  } on ChilkatException {
    bVerified = false;
  }
  if (!bVerified) {
    print(dsig.lastErrorText);
    return;
  }

  print('Signature verified = $bVerified');
}