Sample code for 30+ languages & platforms
Objective-C

RSA Encrypt and OpenSSL Decrypt

See more OpenSSL Examples

Demonstrates how to use Chilkat to RSA encrypt, and then use OpenSSL to decrypt.

Chilkat Objective-C Downloads

Objective-C
#import <CkoRsa.h>
#import <CkoPrivateKey.h>
#import <CkoPublicKey.h>
#import <NSString.h>
#import <CkoBinData.h>

BOOL success = NO;

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

CkoRsa *rsa = [[CkoRsa alloc] init];

CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
success = [rsa GenKey: [NSNumber numberWithInt: 2048] privKey: privKey];
success = [privKey SavePkcs8PemFile: @"qa_output/privKey.pem"];

CkoPublicKey *pubKey = [[CkoPublicKey alloc] init];
[privKey ToPublicKey: pubKey];

rsa.EncodingMode = @"base64";
NSString *plainText = @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890";
BOOL bUsePrivateKey = NO;
[rsa UsePublicKey: pubKey];
NSString *encryptedStr = [rsa EncryptStringENC: plainText bUsePrivateKey: bUsePrivateKey];

CkoBinData *bd = [[CkoBinData alloc] init];
[bd AppendEncoded: encryptedStr encoding: @"base64"];
success = [bd WriteFile: @"qa_output/enc.dat"];

// The OpenSSL command to decrypt is:
// openssl pkeyutl -in enc.dat -inkey privKey.pem -keyform PEM -pkeyopt rsa_padding_mode:pkcs1 -decrypt

NSLog(@"%@",@"OK");