verify method

bool verify(
  1. RSAPublicKey key,
  2. dynamic signature,
  3. dynamic msg
)
override

Implementation

bool verify(RSAPublicKey key, /* String | List<int> | BigInt */ signature,
    final /* String | List<int> | BigInt */ msg) {
  final emDash = key.engine.unsign(signature);

  List<int> msgBytes;
  if (msg is List<int>) {
    msgBytes = msg;
  } else if (msg is String) {
    msgBytes = utf8.encode(msg);
  } else if (msg is BigInt) {
    msgBytes = bigIntToBytes(msg);
  } else {
    throw Exception('Unknown type');
  }
  final encodedMessage = emsaPkcs1v15Encode(msgBytes, key.blockSize, hasher);

  return iterableEquality.equals(emDash, encodedMessage);
}