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

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat Perl Downloads

Perl
use chilkat();

$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 = chilkat::CkPrng->new();
$entropy = $fortuna->getEntropy(32,"base64");
$success = $fortuna->AddEntropy($entropy,"base64");

$ecc = chilkat::CkEcc->new();

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

$privKey = chilkat::CkPrivateKey->new();
$success = $ecc->GenKey("secp256r1",$fortuna,$privKey);
if ($success == 0) {
    print $ecc->lastErrorText() . "\r\n";
    exit;
}

print $privKey->getXml() . "\r\n";

#  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) {
    print $privKey->lastErrorText() . "\r\n";
}

print "finished." . "\r\n";