PHP
Chilkat2 PHP
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 PHP Downloads
<?php
use Chilkat2\BinData;
use Chilkat2\Crypt2;
use Chilkat2\Xml;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$bd = new BinData();
try {
$bd->LoadFile('qa_data/p7m/IT01879020517_abc.xml.p7m');
} catch (\Chilkat2\Exception $e) {
echo "Failed to load the .p7m file\n";
exit;
}
$crypt = new Crypt2();
// 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);
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\n";
echo "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.
$xml = new Xml();
$xml->LoadXml($bd->GetString('utf-8'));
echo $xml->GetXml(), "\n";