Objective-C
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
#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");