Sample code for 30+ languages & platforms
Objective-C

Add S/MIME Signature using PFX

See more MIME Examples

Add a digital signature to a MIME message using the certificate + private key from a PFX file.

Chilkat Objective-C Downloads

Objective-C
#import <CkoMime.h>
#import <CkoCert.h>
#import <NSString.h>

BOOL success = NO;

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

CkoMime *mime = [[CkoMime alloc] init];

// Load a PFX file into a certificate object.
CkoCert *cert = [[CkoCert alloc] init];
NSString *pfxFilepath = @"pfxFiles/something.pfx";
NSString *pfxPassword = @"secret";
success = [cert LoadPfxFile: pfxFilepath password: pfxPassword];
if (success == NO) {
    NSLog(@"%@",cert.LastErrorText);
    return;
}

success = [mime SetBodyFromPlainText: @"This is the plain-text MIME body."];

mime.Charset = @"utf-8";
mime.Encoding = @"quoted-printable";

// Sign the MIME (adds a PKCS7 detached signature)
success = [mime AddDetachedSignature: cert];
if (success == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

// Save the S/MIME to a file.
success = [mime SaveMime: @"/temp/signedMime.txt"];
if (success == NO) {
    NSLog(@"%@",mime.LastErrorText);
    return;
}

NSLog(@"%@",@"success!");