Lua Requires Chilkat v9.5.0.83+
Lua
Generate an Ed25519 Key Pair
See more Ed25519 Examples
Demonstrates how to generate a new Ed25519 public/private key pair.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local eddsa = chilkat.EdDSA.new()
local prng = chilkat.Prng.new()
local privKey = chilkat.PrivateKey.new()
-- Generates a new eddsa key and stores it in privKey.
local success = eddsa:gen_ed25519_key(prng, privKey)
if not success then
print(eddsa.last_error_text)
return
end
-- Examine the ed25519 key in JWK format;
local jwk = privKey:get_jwk()
local json = chilkat.JsonObject.new()
json:load(jwk)
json.emit_compact = false
print(json: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.