Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.0.0+

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- This requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.

-- Create a Fortuna PRNG and seed it with system entropy.
-- This will be our source of random data for generating the ECC private key.
local fortuna = chilkat.Prng.new()
local entropy = fortuna:get_entropy(32, "base64")
local success = fortuna:add_entropy(entropy, "base64")

local ecc = chilkat.Ecc.new()

-- Generate a random ECC private key on the secp256r1 curve.
-- Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1.

local privKey = chilkat.PrivateKey.new()
success = ecc:gen_key("secp256r1", fortuna, privKey)
if not success then
    print(ecc.last_error_text)
    return
end

print(privKey:get_xml())

-- 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:save_pkcs8_encrypted_pem_file("pemPassword", "myPemFiles/eccKey123.pem")
if not success then
    print(privKey.last_error_text)
end

print("finished.")