Sample code for 30+ languages & platforms
React Native

Verify XAdES with External File Reference

See more XML Digital Signatures Examples

Demonstrates how to validate an XML digital signature that contains a reference to an external file. (This is one way of doing it..)

Chilkat React Native Downloads

React Native
import { StringBuilder, XmlDSig } from '@chilkat/react-native'

function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  // Load the XAdES file to be validated..
  const sbXml = new StringBuilder();
  try {
    sbXml.loadFile('qa_data/xml_dsig_valid_samples/externalFile/test.pdf.XAdES', 'utf-8');
  } catch {
    console.log('Failed to load XAdES input file.');
    return;
  }

  const validator = new XmlDSig();

  // Specify a set of absolute or relative directory paths to be searched for any external file references.
  // Directory paths are separated by semicolon chars.
  validator.externalRefDirs = 'qa_data/externalFiles;qa_data/xml_dsig_valid_samples/externalFile;c:/someOtherDir';

  try {
    validator.loadSignatureSb(sbXml);
  } catch {
    console.log(validator.lastErrorText);
    return;
  }

  // Validate signatures as usual..
  let i = 0;
  while (i < validator.numSignatures) {
    validator.selector = i;

    let valid = true;
    try {
      validator.verifySignature(true);
    } catch {
      valid = false;
    }
    console.log(`Signature ${i + 1} and all reference digests OK = ${valid}`);

    i++;
  }
}