Sample code for 30+ languages & platforms
Dart

Extract XML from FatturaPA .p7m

See more Digital Signatures Examples

Demonstrates how to verify the signature and extract the XML from a FatturaPA .p7m file.

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.

  final bd = CkBinData();
  try {
    bd.loadFile('qa_data/p7m/IT01879020517_abc.xml.p7m');
  } on ChilkatException {
    print('Failed to load the .p7m file');
    return;
  }

  final crypt = CkCrypt2();

  // Verify and extrct the payload contained within the .p7m.
  // In this case, the payload is the FatturaPA XML.
  // If successful, the resulting bd will contain only the XML.
  try {
    crypt.opaqueVerifyBd(bd);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    print('Failed to extract and verify.');
    return;
  }

  // Save the XML to a file.
  bd.writeFile('qa_output/zIT01879020517_abc.xml');

  // Alternatively, load into an XML object and emit.
  final xml = CkXml();
  xml.loadXml(bd.getString('utf-8'));

  print(xml.getXml());
}