Sample code for 30+ languages & platforms
Objective-C

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 Objective-C Downloads

Objective-C
#import <CkoBinData.h>
#import <CkoCrypt2.h>
#import <CkoXml.h>

BOOL success = NO;

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

CkoBinData *bd = [[CkoBinData alloc] init];
success = [bd LoadFile: @"qa_data/p7m/IT01879020517_abc.xml.p7m"];
if (success != YES) {
    NSLog(@"%@",@"Failed to load the .p7m file");
    return;
}

CkoCrypt2 *crypt = [[CkoCrypt2 alloc] init];

// 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.
BOOL bVerified = [crypt OpaqueVerifyBd: bd];
if (bVerified != YES) {
    NSLog(@"%@",crypt.LastErrorText);
    NSLog(@"%@",@"Failed to extract and verify.");
    return;
}

// Save the XML to a file.
[bd WriteFile: @"qa_output/zIT01879020517_abc.xml"];

// Alternatively, load into an XML object and emit.
CkoXml *xml = [[CkoXml alloc] init];
[xml LoadXml: [bd GetString: @"utf-8"]];

NSLog(@"%@",[xml GetXml]);