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

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

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

$ecc = new CkEcc();

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

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

print $privKey->getXml() . "\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 != true) {
    print $privKey->lastErrorText() . "\n";
}

print 'finished.' . "\n";

?>