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
(C) Generate an Ed25519 Key PairDemonstrates how to generate a new Ed25519 public/private key pair. Note: This example requires Chilkat v9.5.0.83 or greater.
#include <C_CkEdDSA.h> #include <C_CkPrng.h> #include <C_CkPrivateKey.h> #include <C_CkJsonObject.h> void ChilkatSample(void) { HCkEdDSA eddsa; HCkPrng prng; HCkPrivateKey privKey; BOOL success; const char *jwk; HCkJsonObject json; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. eddsa = CkEdDSA_Create(); prng = CkPrng_Create(); privKey = CkPrivateKey_Create(); // Generates a new eddsa key and stores it in privKey. success = CkEdDSA_GenEd25519Key(eddsa,prng,privKey); if (success == FALSE) { printf("%s\n",CkEdDSA_lastErrorText(eddsa)); CkEdDSA_Dispose(eddsa); CkPrng_Dispose(prng); CkPrivateKey_Dispose(privKey); return; } // Examine the ed25519 key in JWK format; jwk = CkPrivateKey_getJwk(privKey); json = CkJsonObject_Create(); CkJsonObject_Load(json,jwk); CkJsonObject_putEmitCompact(json,FALSE); printf("%s\n",CkJsonObject_emit(json)); // Sample output: // { // "kty": "OKP", // "crv": "Ed25519", // "x": "SE2Kne5xt51z1eciMH2T2ftDQp96Gl6FhY6zSQujiP0", // "d": "O-eRXewadF0sNyB0U9omcnt8Qg2ZmeK3WSXPYgqe570", // "use": "sig" // } // In the above JWK, x is the public key, y is the private key. // Both are 32 bytes and are base64-url encoded. CkEdDSA_Dispose(eddsa); CkPrng_Dispose(prng); CkPrivateKey_Dispose(privKey); CkJsonObject_Dispose(json); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.