Sample code for 30+ languages & platforms
Lianja

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

Lianja
llSuccess = .F.

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

loBd = createobject("CkBinData")
llSuccess = loBd.LoadFile("qa_data/p7m/IT01879020517_abc.xml.p7m")
if (llSuccess <> .T.) then
    ? "Failed to load the .p7m file"
    release loBd
    return
endif

loCrypt = createobject("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.
llBVerified = loCrypt.OpaqueVerifyBd(loBd)
if (llBVerified <> .T.) then
    ? loCrypt.LastErrorText
    ? "Failed to extract and verify."
    release loBd
    release loCrypt
    return
endif

// Save the XML to a file.
loBd.WriteFile("qa_output/zIT01879020517_abc.xml")

// Alternatively, load into an XML object and emit.
loXml = createobject("CkXml")
loXml.LoadXml(loBd.GetString("utf-8"))

? loXml.GetXml()


release loBd
release loCrypt
release loXml