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

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  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.
Dim fortuna As ChilkatPrng
fortuna.Initialize
Dim entropy As String = fortuna.GetEntropy(32, "base64")
success = fortuna.AddEntropy(entropy, "base64")

Dim ecc As ChilkatEcc
ecc.Initialize

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

Dim privKey As ChilkatPrivateKey
privKey.Initialize("privKey")
success = ecc.GenKey("secp256r1", fortuna, privKey)
If success = False Then
    Log(ecc.LastErrorText)
    Return
End If


Log(privKey.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.)
success = privKey.SavePkcs8EncryptedPemFile("pemPassword", "myPemFiles/eccKey123.pem")
If success <> True Then
    Log(privKey.LastErrorText)
End If


Log("finished.")