(Objective-C) Extract XML from FatturaPA .p7m
Demonstrates how to verify the signature and extract the XML from a FatturaPA .p7m file.
#import <CkoBinData.h>
#import <CkoCrypt2.h>
#import <CkoXml.h>
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoBinData *bd = [[CkoBinData alloc] init];
BOOL 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]);
|