Chilkat HOME Android™ ASP Visual Basic VB.NET C# iOS (IPhone) Objective-C C++ C Unicode C++ Unicode C MFC Delphi DLL Delphi ActiveX FoxPro Java Perl PHP Extension PHP ActiveX Python PowerShell Ruby SQL Server VBScript
|
Create PKCS1 RSA Signature with PEM Private KeyDemonstrates how to load a private key from a PEM file and create a PKCS1 RSA digital signature. Download: Chilkat Cocoa Objective-C Libraries NSMutableString *strOutput = [NSMutableString stringWithCapacity:1000]; CkoPrivateKey *pkey = [[[CkoPrivateKey alloc] init] autorelease]; // Load the private key from an RSA PEM file: [pkey LoadPemFile: @"pvkey2_rsa.pem"]; BOOL success; 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 software is going to verify // 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", "md5", "sha256", // "sha384", and "sha512". 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.