Delphi ActiveX Requires Chilkat v11.0.0+
Delphi ActiveX
Generate an ECDSA Key
See more ECC Examples
Demonstrates how to generate an ECDSA key.Chilkat Delphi ActiveX Downloads
var
success: Integer;
fortuna: TChilkatPrng;
entropy: WideString;
ecc: TChilkatEcc;
privKey: TPrivateKey;
begin
success := 0;
// 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.
fortuna := TChilkatPrng.Create(Self);
entropy := fortuna.GetEntropy(32,'base64');
success := fortuna.AddEntropy(entropy,'base64');
ecc := TChilkatEcc.Create(Self);
// Generate a random ECC private key on the secp256r1 curve.
// Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1.
privKey := TPrivateKey.Create(Self);
success := ecc.GenKey('secp256r1',fortuna.ControlInterface,privKey.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(ecc.LastErrorText);
Exit;
end;
Memo1.Lines.Add(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 <> 1) then
begin
Memo1.Lines.Add(privKey.LastErrorText);
end;
Memo1.Lines.Add('finished.');