Sample code for 30+ languages & platforms
PHP Extension

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";

?>