generateEcKeyPair static method

AsymmetricKeyPair<PublicKey, PrivateKey> generateEcKeyPair({
  1. String curve = 'prime256v1',
})

Generates a elliptic curve AsymmetricKeyPair.

The default curve is prime256v1

The following curves are supported:

  • brainpoolp160r1
  • brainpoolp160t1
  • brainpoolp192r1
  • brainpoolp192t1
  • brainpoolp224r1
  • brainpoolp224t1
  • brainpoolp256r1
  • brainpoolp256t1
  • brainpoolp320r1
  • brainpoolp320t1
  • brainpoolp384r1
  • brainpoolp384t1
  • brainpoolp512r1
  • brainpoolp512t1
  • GostR3410-2001-CryptoPro-A
  • GostR3410-2001-CryptoPro-B
  • GostR3410-2001-CryptoPro-C
  • GostR3410-2001-CryptoPro-XchA
  • GostR3410-2001-CryptoPro-XchB
  • prime192v1
  • prime192v2
  • prime192v3
  • prime239v1
  • prime239v2
  • prime239v3
  • prime256v1
  • secp112r1
  • secp112r2
  • secp128r1
  • secp128r2
  • secp160k1
  • secp160r1
  • secp160r2
  • secp192k1
  • secp192r1
  • secp224k1
  • secp224r1
  • secp256k1
  • secp256r1
  • secp384r1
  • secp521r1

Implementation

static AsymmetricKeyPair generateEcKeyPair({String curve = 'prime256v1'}) {
  var ecDomainParameters = ECDomainParameters(curve);
  var keyParams = ECKeyGeneratorParameters(ecDomainParameters);

  var secureRandom = _getSecureRandom();

  var rngParams = ParametersWithRandom(keyParams, secureRandom);
  var generator = ECKeyGenerator();
  generator.init(rngParams);

  return generator.generateKeyPair();
}