validate method
Returns null if the envelope signature is valid for the given 'domain', or throws an error if signature validation fails.
Implementation
Future<void> validate(String domain) async {
final unsigned = _makeUnsigned(domain, payloadType, rawPayload);
final valid = await publicKey.verify(unsigned, _signature);
if (!valid) {
throw Exception('invalid signature or incorrect domain');
}
}