Vanethos / flutter_rsa_generator_example

Example of Generating RSA Keys

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wrong PEM encoding: RSAPrivateKey.exponent returns the private exponent

elsamuko opened this issue · comments

See here:

var publicExponent = ASN1Integer(privateKey.exponent);

I used this helper function to calculate the public exponent:

// inverse of private exponent -> public exponent
//! \sa rsa_key_generator.dart
static BigInt getPublicExponent(RSAPrivateKey privateKey) {
  var pSub1 = (privateKey.p - BigInt.one);
  var qSub1 = (privateKey.q - BigInt.one);
  var phi = (pSub1 * qSub1);
  var publicExponent = privateKey.exponent.modInverse(phi);
  return publicExponent;
}