publicVerify function

bool publicVerify(
  1. String strPublicKey,
  2. String message,
  3. String strSignature
)

Implementation

bool publicVerify(String strPublicKey, String message, String strSignature) {
  ECPublicKey publicKey = loadPublicKey(strPublicKey);
  ECDSASigner verifySinger =
      new ECDSASigner(SHA512Digest(), new Mac('SHA-512/HMAC'));
  var pubkeyParam = new PublicKeyParameter(
      new ECPublicKey(publicKey.Q, publicKey.parameters));

  final str_r = strSignature.substring(0, 64);
  final str_s = strSignature.substring(64, 128);
  final r = BigInt.parse(str_r, radix: 16);
  final s = BigInt.parse(str_s, radix: 16);

  ECSignature signature = new ECSignature(r, s);
  verifySinger.init(false, pubkeyParam);
  return verifySinger.verifySignature(
      Uint8List.fromList(convert.utf8.encode(message)), signature);
}