(Perl) Extract XML from FatturaPA .p7m
Demonstrates how to verify the signature and extract the XML from a FatturaPA .p7m file.
use chilkat();
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$bd = chilkat::CkBinData->new();
$success = $bd->LoadFile("qa_data/p7m/IT01879020517_abc.xml.p7m");
if ($success != 1) {
print "Failed to load the .p7m file" . "\r\n";
exit;
}
$crypt = chilkat::CkCrypt2->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.
$bVerified = $crypt->OpaqueVerifyBd($bd);
if ($bVerified != 1) {
print $crypt->lastErrorText() . "\r\n";
print "Failed to extract and verify." . "\r\n";
exit;
}
# Save the XML to a file.
$bd->WriteFile("qa_output/zIT01879020517_abc.xml");
# Alternatively, load into an XML object and emit.
$xml = chilkat::CkXml->new();
$xml->LoadXml($bd->getString("utf-8"));
print $xml->getXml() . "\r\n";
|