verify method

  1. @override
bool verify(
  1. JWTKey key,
  2. Uint8List body,
  3. Uint8List signature
)
override

Verify the signature of body with key

return true if the signature is correct false otherwise

Implementation

@override
bool verify(JWTKey key, Uint8List body, Uint8List signature) {
  assert(key is ECPublicKey, 'key must be a ECPublicKey');
  final publicKey = key as ECPublicKey;

  final signer = pc.Signer('${_getHash(name)}/DET-ECDSA');
  final params = pc.PublicKeyParameter<pc.ECPublicKey>(publicKey.key);

  signer.init(false, params);

  final len = signature.length ~/ 2;
  final sign = pc.ECSignature(
    bigIntFromBytes(signature.sublist(0, len)),
    bigIntFromBytes(signature.sublist(len)),
  );

  return signer.verifySignature(body, sign);
}