Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local bd = chilkat.BinData.new()
local success = bd:load_file("qa_data/p7m/IT01879020517_abc.xml.p7m")
if not success then
    print("Failed to load the .p7m file")
    return
end

local crypt = chilkat.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.
local bVerified = crypt:opaque_verify_bd(bd)
if not bVerified then
    print(crypt.last_error_text)
    print("Failed to extract and verify.")
    return
end

-- Save the XML to a file.
bd:write_file("qa_output/zIT01879020517_abc.xml")

-- Alternatively, load into an XML object and emit.
local xml = chilkat.Xml.new()
xml:load_xml(bd:get_string("utf-8"))

print(xml:get_xml())