(Objective-C) RSA Sign using Base64 Private Key
Signs a string using a non-encrypted RSA private key in base64 encoding. Returns the RSA signature as a base64 string.
#import <CkoPrivateKey.h>
#import <CkoStringBuilder.h>
#import <CkoRsa.h>
#import <NSString.h>
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoPrivateKey *privKey = [[CkoPrivateKey alloc] init];
BOOL success;
CkoStringBuilder *sbPem = [[CkoStringBuilder alloc] init];
[sbPem AppendLine: @"-----BEGIN RSA PRIVATE KEY-----" crlf: YES];
[sbPem AppendLine: @"MIIC .... j5A==" crlf: YES];
[sbPem AppendLine: @"-----END RSA PRIVATE KEY-----" crlf: YES];
success = [privKey LoadPem: [sbPem GetAsString]];
if (success != YES) {
NSLog(@"%@",privKey.LastErrorText);
return;
}
CkoRsa *rsa = [[CkoRsa alloc] init];
success = [rsa ImportPrivateKeyObj: privKey];
if (success != YES) {
NSLog(@"%@",rsa.LastErrorText);
return;
}
rsa.EncodingMode = @"base64";
NSString *strSigned = [rsa OpenSslSignStringENC: @"12345678"];
NSLog(@"%@",strSigned);
NSString *strOriginal = [rsa OpenSslVerifyStringENC: strSigned];
NSLog(@"%@",strOriginal);
|