Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) 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 <CkEdDSA.h> #include <CkPrng.h> #include <CkPrivateKey.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkEdDSA eddsa; CkPrng prng; CkPrivateKey privKey; // Generates a new eddsa key and stores it in privKey. bool success = eddsa.GenEd25519Key(prng,privKey); if (success == false) { strOut.append(eddsa.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Examine the ed25519 key in JWK format; const char *jwk = privKey.getJwk(); CkJsonObject json; json.Load(jwk); json.put_EmitCompact(false); strOut.append(json.emit()); strOut.append("\r\n"); // 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. SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.