Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loBd
LOCAL loCrypt
LOCAL lnBVerified
LOCAL loXml

lnSuccess = 0

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

loBd = CreateObject('Chilkat.BinData')
lnSuccess = loBd.LoadFile("qa_data/p7m/IT01879020517_abc.xml.p7m")
IF (lnSuccess <> 1) THEN
    ? "Failed to load the .p7m file"
    RELEASE loBd
    CANCEL
ENDIF

loCrypt = CreateObject('Chilkat.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.
lnBVerified = loCrypt.OpaqueVerifyBd(loBd)
IF (lnBVerified <> 1) THEN
    ? loCrypt.LastErrorText
    ? "Failed to extract and verify."
    RELEASE loBd
    RELEASE loCrypt
    CANCEL
ENDIF

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

* Alternatively, load into an XML object and emit.
loXml = CreateObject('Chilkat.Xml')
loXml.LoadXml(loBd.GetString("utf-8"))

? loXml.GetXml()

RELEASE loBd
RELEASE loCrypt
RELEASE loXml