Objective-C
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
#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==