generateKeyPair static method
Generates an ECC key pair (PEM format)
Implementation
static Future<Map<String, String>> generateKeyPair(
{String curve = 'prime256v1'}) async {
final ecDomain = ECDomainParameters(curve);
final keyGen = ECKeyGenerator();
final params = ECKeyGeneratorParameters(ecDomain);
final random = FortunaRandom();
random.seed(KeyParameter(Uint8List.fromList(List.generate(
32, (_) => DateTime.now().microsecondsSinceEpoch % 256))));
keyGen.init(ParametersWithRandom(params, random));
final pair = keyGen.generateKeyPair();
final pubKey = pair.publicKey;
final privKey = pair.privateKey;
final pubPem = BasicUtils.CryptoUtils.encodeEcPublicKeyToPem(pubKey);
final privPem = BasicUtils.CryptoUtils.encodeEcPrivateKeyToPem(privKey);
return {'publicKey': pubPem, 'privateKey': privPem};
}