rsaVerify function

bool rsaVerify(
  1. RSAPublicKey publicKey,
  2. List<int> signedData,
  3. Uint8List signature
)

Implementation

bool rsaVerify(
    RSAPublicKey publicKey, List<int> signedData, Uint8List signature) {
  var hash = sha256.convert(signedData);
  var digest = hash;

  var s = bytesToBigInt(signature);

  var m = encrypt(publicKey, s);
  var emBits = publicKey.n!.bitLength - 1;
  var emLen = ((emBits + 7) / 8).floor();
  if (m.bitLength > emLen * 8) {
    return false;
  }
  var em = fillBytes(m, emLen);
  var res = emsaPSSVerify(digest.bytes, em, emBits, 32);
  return res;
}