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
(Unicode C++) Generate an ECC KeyDemonstrates how to generate an ECC key.
#include <CkGlobalW.h> #include <CkPrngW.h> #include <CkEccW.h> #include <CkPrivateKeyW.h> void ChilkatSample(void) { // All Chilkat classes can be unlocked at once at the beginning of a program // by calling UnlockBundle. It requires a Bundle unlock code. CkGlobalW chilkatGlob; bool success = chilkatGlob.UnlockBundle(L"Anything for 30-day trial."); if (success != true) { wprintf(L"%s\n",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. CkPrngW fortuna; const wchar_t *entropy = fortuna.getEntropy(32,L"base64"); success = fortuna.AddEntropy(entropy,L"base64"); CkEccW ecc; // Generate a random ECC private key on the secp256r1 curve. // Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1. CkPrivateKeyW *privKey = ecc.GenEccKey(L"secp256r1",fortuna); if (ecc.get_LastMethodSuccess() != true) { wprintf(L"%s\n",ecc.lastErrorText()); return; } wprintf(L"%s\n",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(L"pemPassword",L"myPemFiles/eccKey123.pem"); if (success != true) { wprintf(L"%s\n",privKey->lastErrorText()); } delete privKey; wprintf(L"finished.\n"); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.