generateRSAKeyPair function

Future<KeyPair> generateRSAKeyPair({
  1. int bits = 2048,
})

Generates an RSA key pair using the pointycastle package

Implementation

// Future<pc.AsymmetricKeyPair<pc.PublicKey, pc.PrivateKey >> generateRSAKeyPair({int bits = 2048}) async {
Future<p2pkeys.KeyPair> generateRSAKeyPair({int bits = 2048}) async {
  var generator = RSAKeyGenerator();

  var params = pc.RSAKeyGeneratorParameters(BigInt.from(65537), bits, 64);
  generator.init(pc.ParametersWithRandom( params, fortunaRandom()));

  final rsaKeyPair = generator.generateKeyPair();

  // RsaKeyPair(RsaPublicKey(), RsaPrivateKey());
  final pubKey = rsa.RsaPublicKey(rsaKeyPair.publicKey as pc.RSAPublicKey);
  final privKey = rsa.RsaPrivateKey(rsaKeyPair.privateKey as pc.RSAPrivateKey, pubKey);

  return p2pkeys.KeyPair(pubKey, privKey);

}