Sample code for 30+ languages & platforms
Lianja

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// 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.
loFortuna = createobject("CkPrng")
lcEntropy = loFortuna.GetEntropy(32,"base64")
llSuccess = loFortuna.AddEntropy(lcEntropy,"base64")

loEcc = createobject("CkEcc")

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

loPrivKey = createobject("CkPrivateKey")
llSuccess = loEcc.GenKey("secp256r1",loFortuna,loPrivKey)
if (llSuccess = .F.) then
    ? loEcc.LastErrorText
    release loFortuna
    release loEcc
    release loPrivKey
    return
endif

? loPrivKey.GetXml()

// 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.)
llSuccess = loPrivKey.SavePkcs8EncryptedPemFile("pemPassword","myPemFiles/eccKey123.pem")
if (llSuccess <> .T.) then
    ? loPrivKey.LastErrorText
endif

? "finished."


release loFortuna
release loEcc
release loPrivKey