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 NO,
    // 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;
}