Sample code for 30+ languages & platforms
Swift

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

Swift

func chilkatTest() {
    var success: Bool = false

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

    let bd = CkoBinData()!
    success = bd.loadFile(path: "qa_data/p7m/IT01879020517_abc.xml.p7m")
    if success != true {
        print("Failed to load the .p7m file")
        return
    }

    let crypt = CkoCrypt2()!

    // 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.
    var bVerified: Bool = crypt.opaqueVerifyBd(bd: bd)
    if bVerified != true {
        print("\(crypt.lastErrorText!)")
        print("Failed to extract and verify.")
        return
    }

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

    // Alternatively, load into an XML object and emit.
    let xml = CkoXml()!
    xml.load(xmlData: bd.getString(charset: "utf-8"))

    print("\(xml.getXml()!)")

}