Xbase++
Xbase++
Generate an Ed25519 Key Pair
See more Ed25519 Examples
Demonstrates how to generate a new Ed25519 public/private key pair.Note: This example requires Chilkat v9.5.0.83 or greater.
Chilkat Xbase++ Downloads
LOCAL nSuccess
LOCAL oEddsa
LOCAL oPrng
LOCAL oPrivKey
LOCAL cJwk
LOCAL oJson
nSuccess := 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
oEddsa := CreateObject("Chilkat.EdDSA")
oPrng := CreateObject("Chilkat.Prng")
oPrivKey := CreateObject("Chilkat.PrivateKey")
// Generates a new eddsa key and stores it in privKey.
nSuccess := oEddsa:GenEd25519Key(oPrng, oPrivKey)
IF (nSuccess == 0)
? oEddsa:LastErrorText
oEddsa:destroy()
oPrng:destroy()
oPrivKey:destroy()
RETURN
ENDIF
// Examine the ed25519 key in JWK format;
cJwk := oPrivKey:GetJwk()
oJson := CreateObject("Chilkat.JsonObject")
oJson:Load(cJwk)
oJson:EmitCompact := 0
? oJson:Emit()
// 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.
oEddsa:destroy()
oPrng:destroy()
oPrivKey:destroy()
oJson:destroy()