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

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // 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.
  final fortuna = CkPrng();
  final entropy = fortuna.getEntropy(32, 'base64');
  fortuna.addEntropy(entropy, 'base64');

  final ecc = CkEcc();

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

  final privKey = CkPrivateKey();
  try {
    ecc.genKey('secp256r1', fortuna, privKey);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(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.)
  try {
    privKey.savePkcs8EncryptedPemFile('pemPassword', 'myPemFiles/eccKey123.pem');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
  }

  print('finished.');
}