Sample code for 30+ languages & platforms
Objective-C

Verify XML Digital Signature

See more XML Digital Signatures Examples

Verifies XML signatures in an XML file.

Chilkat Objective-C Downloads

Objective-C
#import <CkoStringBuilder.h>
#import <CkoXmlDSig.h>

BOOL success = NO;

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

CkoStringBuilder *sbXml = [[CkoStringBuilder alloc] init];
success = [sbXml LoadFile: @"qa_data/xml_dsig_verify/csioz_sample.xml" charset: @"utf-8"];
if (success != YES) {
    NSLog(@"%@",@"Failed to load XML file.");
    return;
}

CkoXmlDSig *dsig = [[CkoXmlDSig alloc] init];

//  First load the XML containing the signatures to be verified.
success = [dsig LoadSignatureSb: sbXml];
if (success != YES) {
    NSLog(@"%@",dsig.LastErrorText);
    return;
}

//  It's possible that an XML document can contain multiple signatures.
//  Each can be verified as follows:
int i = 0;
while (i < [dsig.NumSignatures intValue]) {
    //  Select the Nth signature by setting the Selector property.
    dsig.Selector = [NSNumber numberWithInt: i];

    //  The bVerifyReferenceDigests argument determines if we want
    //  to also verify each reference digest.  If set to false,
    //  then only the SignedInfo part of the Signature is verified.
    BOOL bVerifyReferenceDigests = YES;
    BOOL bVerified = [dsig VerifySignature: bVerifyReferenceDigests];
    NSLog(@"%@%d%@%d",@"Signature ",i + 1,@" verified = ",bVerified);

    i = i + 1;
}