Sample code for 30+ languages & platforms
Objective-C

PKCS7 Sign Text using RSA 2048, SHA256, Base64 Output

See more Digital Signatures Examples

Demonstrates how to sign text using 2048-bit RSA with SHA256, producing PKCS#7 output in Base64. The certificate w/ private key used for signing is loaded from a .p12/.pfx file.

Chilkat Objective-C Downloads

Objective-C
#import <CkoCert.h>
#import <CkoCrypt2.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.

CkoCert *cert = [[CkoCert alloc] init];

// Load the cert and private key.  Whatever the private key happens to be,
// such as RSA or ECC, then Chilkat will use it.  If the private key is 
// a 2048-bit RSA key, then that's what will be used..
success = [cert LoadPfxFile: @"qa_data/pfx/myCertAndKey.p12" password: @"password"];
if (success != YES) {
    NSLog(@"%@",cert.LastErrorText);
    return;
}

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

success = [crypt SetSigningCert: cert];
if (success != YES) {
    NSLog(@"%@",crypt.LastErrorText);
    return;
}

// Use SHA-256
crypt.HashAlgorithm = @"sha256";

// Hash the utf-8 byte representation of the string
crypt.Charset = @"utf-8";

// Return the result in base64
crypt.EncodingMode = @"base64";

// Sign some text..
NSString *textToSign = @"This is the text to be hashed and signed.";
NSString *sigBase64 = [crypt OpaqueSignStringENC: textToSign];
if (crypt.LastMethodSuccess != YES) {
    NSLog(@"%@",crypt.LastErrorText);
    return;
}

NSLog(@"%@",sigBase64);

// The result:
// MIIS2wYJKoZIhvcNAQc ... zGeeY4Oxg==