KeyPair.generateRsa constructor

KeyPair.generateRsa({
  1. BigInt? exponent,
  2. int bitStrength = 2048,
})

Implementation

factory KeyPair.generateRsa({BigInt? exponent, int bitStrength = 2048}) {
  exponent ??= BigInt.from(65537);

  var generator = pc.RSAKeyGenerator()
    ..init(pc.ParametersWithRandom(
        pc.RSAKeyGeneratorParameters(exponent, bitStrength, 5),
        DefaultSecureRandom()));

  var pair = generator.generateKeyPair();

  return KeyPair(
      publicKey: RsaPublicKey(
        exponent: pair.publicKey.publicExponent!,
        modulus: pair.publicKey.n!,
      ),
      privateKey: RsaPrivateKey(
        modulus: pair.privateKey.n!,
        privateExponent: pair.privateKey.privateExponent!,
        firstPrimeFactor: pair.privateKey.p!,
        secondPrimeFactor: pair.privateKey.q!,
      ));
}