![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(PHP ActiveX) Generate an ECC KeyDemonstrates how to generate an ECC key.
<?php // All Chilkat classes can be unlocked at once at the beginning of a program // by calling UnlockBundle. It requires a Bundle unlock code. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Global') $chilkatGlob = new COM("Chilkat.Global"); $success = $chilkatGlob->UnlockBundle('Anything for 30-day trial.'); if ($success != 1) { print $chilkatGlob->LastErrorText . "\n"; exit; } // Create a Fortuna PRNG and seed it with system entropy. // This will be our source of random data for generating the ECC private key. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Prng') $fortuna = new COM("Chilkat.Prng"); $entropy = $fortuna->getEntropy(32,'base64'); $success = $fortuna->AddEntropy($entropy,'base64'); // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Ecc') $ecc = new COM("Chilkat.Ecc"); // Generate a random ECC private key on the secp256r1 curve. // Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1. // privKey is a Chilkat.PrivateKey $privKey = $ecc->GenEccKey('secp256r1',$fortuna); if ($ecc->LastMethodSuccess != 1) { 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 != 1) { print $privKey->LastErrorText . "\n"; } print 'finished.' . "\n"; ?> |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.