verifyMessage method

bool verifyMessage(
  1. String message,
  2. ECSignature signature,
  3. String publicKey
)

Verifies a signed message using the provided EC signature and public key.

Implementation

bool verifyMessage(String message, ECSignature signature, String publicKey) {
  try {
    final Uint8List messageBytes =
        Uint8List.fromList(_nosoBase64Decode(message));
    ECPoint? publicKeyPoint =
        _curve.curve.decodePoint(base64.decode(publicKey));
    ECPublicKey publicKeys = ECPublicKey(publicKeyPoint, _curve);

    var verifier = ECDSASigner(SHA1Digest(), _algorithmName)
      ..init(false, PublicKeyParameter<ECPublicKey>(publicKeys));

    return verifier.verifySignature(messageBytes, signature);
  } catch (e) {
    print("Error verify signature: $e");
    return false;
  }
}