Sample code for 30+ languages & platforms
Perl

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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

my $bd = Chilkat2::BinData->new;
my $success = $bd->LoadFile('qa_data/p7m/IT01879020517_abc.xml.p7m');
if (!$success) {
    print "Failed to load the .p7m file\n";
    exit;
}

my $crypt = Chilkat2::Crypt2->new;

# 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.
my $bVerified = $crypt->OpaqueVerifyBd($bd);
if (!$bVerified) {
    print $crypt->LastErrorText, "\n";
    print "Failed to extract and verify.\n";
    exit;
}

# Save the XML to a file.
$bd->WriteFile('qa_output/zIT01879020517_abc.xml');

# Alternatively, load into an XML object and emit.
my $xml = Chilkat2::Xml->new;
$xml->LoadXml($bd->GetString('utf-8'));

print $xml->GetXml(), "\n";