(Objective-C) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding.
#import <CkoPrivateKey.h>
#import <CkoRsa.h>
#import <NSString.h>
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoPrivateKey *privkey = [[CkoPrivateKey alloc] init];
// Load the private key object from a PEM file.
// (To load from a PEM string, call LoadPem instead.)
BOOL success = [privkey LoadPemFile: @"somePath/myPrivateKey.pem"];
if (success != YES) {
NSLog(@"%@",privkey.LastErrorText);
return;
}
CkoRsa *rsa = [[CkoRsa alloc] init];
// Use RSA-PSS by setting OaepPadding = YES
rsa.OaepPadding = YES;
// Use SHA256
rsa.OaepHash = @"SHA-256";
[rsa ImportPrivateKeyObj: privkey];
// Generate a base64 signature.
rsa.EncodingMode = @"base64";
NSString *sigStr = [rsa SignStringENC: @"String to be signed" hashAlg: @"SHA-256"];
if (rsa.LastMethodSuccess != YES) {
NSLog(@"%@",rsa.LastErrorText);
return;
}
NSLog(@"%@%@",@"Signature: ",sigStr);
|