Cocoa Objective-C Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CUnicode C++Unicode CMFCDelphi DLLDelphi ActiveXFoxProJavaPerlPHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Objective-C Examples

Bounced Email
Digital Certificates
Digital Signatures
DKIM / DomainKey
DSA
Email Object
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
POP3
RSA
MIME
SMTP
Socket
SOCKS Proxy
Spider
SSH Key
SSH
SFTP
Tar
Upload
XML
XMP
Zip


More Examples...
Amazon S3
NTLM
RSS
Atom
PPMD
Deflate
Bzip2
LZW
Diffie-Hellman
Bz2
Character Encoding
CSV

 

 

 

 

 

 

 

 

RSA Signature with Certificate's Private Key from PFX

Demonstrates how to use a certificate's private key from a PFX file to create an RSA signature.

Download: Chilkat Cocoa Objective-C Libraries

NSMutableString *strOutput = [NSMutableString stringWithCapacity:1000];

BOOL success;

//  Create an instance of a certificate store object, load a PFX file,
//  locate the certificate we need, and use it for signing.
//  (a PFX file may contain more than one certificate.)
CkoCertStore *certStore = [[[CkoCertStore alloc] init] autorelease];

//  The 1st argument is the filename, the 2nd arg is the
//  PFX file's password:
success = [certStore LoadPfxFile: @"chilkat.pfx" password: @"test"];
if (success != YES) {
    [strOutput appendString: certStore.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

CkoCert *cert;
cert = [certStore FindCertBySubject: @"Chilkat Software, Inc."];
if (cert == nil ) {
    [strOutput appendString: certStore.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

CkoPrivateKey *pkey;
pkey = [cert ExportPrivateKey];
if (pkey == nil ) {
    [strOutput appendString: cert.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

NSString *pkeyXml;
//  Get the private key in XML format:
pkeyXml = [pkey GetXml];

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

//  Any string argument automatically begins the 30-day trial.

success = [rsa UnlockComponent: @"30-day trial"];
if (success != YES) {
    [strOutput appendString: @"RSA component unlock failed"];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

//  Import the private key into the RSA component:
success = [rsa ImportPrivateKey: pkeyXml];
if (success != YES) {
    [strOutput appendString: rsa.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

//  This example will sign a string, and receive the signature
//  in a hex-encoded string.  Therefore, set the encoding mode
//  to "hex":
rsa.EncodingMode = @"hex";

//  If some other non-Chilkat application or web service is going to be verifying
//  the signature, it is important to match the byte-ordering.
//  The LittleEndian property may be set to YES
//  for little-endian byte ordering,
//  or NO  for big-endian byte ordering.
//  Microsoft apps typically use little-endian, while
//  OpenSSL and other services (such as Amazon CloudFront)
//  use big-endian.
rsa.LittleEndian = NO;

NSString *strData;
strData = @"This is the string to be signed.";

//  Sign the string using the sha-1 hash algorithm.
//  Other valid choices are "md2" and "md5".
NSString *hexSig;
hexSig = [rsa SignStringENC: strData hashAlg: @"sha-1"];

[strOutput appendString: hexSig];
[strOutput appendString: @"\n"];

[strOutput appendString: @"Success!"];
[strOutput appendString: @"\n"];

self.mainTextField.stringValue = strOutput;



© 2000-2013 Chilkat Software, Inc. All Rights Reserved.