Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) Generate an ECC KeyDemonstrates how to generate an ECC key.
#import <CkoGlobal.h> #import <CkoPrng.h> #import <NSString.h> #import <CkoEcc.h> #import <CkoPrivateKey.h> // All Chilkat classes can be unlocked at once at the beginning of a program // by calling UnlockBundle. It requires a Bundle unlock code. CkoGlobal *chilkatGlob = [[CkoGlobal alloc] init]; BOOL success = [chilkatGlob UnlockBundle: @"Anything for 30-day trial."]; if (success != YES) { NSLog(@"%@",chilkatGlob.LastErrorText); return; } // Create a Fortuna PRNG and seed it with system entropy. // This will be our source of random data for generating the ECC private key. CkoPrng *fortuna = [[CkoPrng alloc] init]; NSString *entropy = [fortuna GetEntropy: [NSNumber numberWithInt: 32] encoding: @"base64"]; success = [fortuna AddEntropy: entropy encoding: @"base64"]; CkoEcc *ecc = [[CkoEcc alloc] init]; // Generate a random ECC private key on the secp256r1 curve. // Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1. CkoPrivateKey *privKey = [ecc GenEccKey: @"secp256r1" prng: fortuna]; if (ecc.LastMethodSuccess != YES) { NSLog(@"%@",ecc.LastErrorText); return; } NSLog(@"%@",[privKey GetXml]); // Save the private key to PKCS8 encrypted PEM // (The private key can be saved in a variety of different formats. See the online reference documentation.) success = [privKey SavePkcs8EncryptedPemFile: @"pemPassword" path: @"myPemFiles/eccKey123.pem"]; if (success != YES) { NSLog(@"%@",privKey.LastErrorText); } NSLog(@"%@",@"finished."); |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.