verify<T> function

T verify<T>({
  1. required Uint8List msgToCheck,
  2. required Object? msgToAuth,
  3. required PublicKey verifier,
  4. required Uint8List domain,
  5. int? maxDriftSecs,
})

Validates a COSE_Sign1 digital signature and returns the embedded payload.

Uses the current system time for drift checking.

  • msgToCheck: The serialized COSE_Sign1 structure
  • msgToAuth: The same additional authenticated data used during signing
  • verifier: The xDSA public key to verify against
  • domain: Application domain for replay protection
  • maxDriftSecs: Signatures more in the past or future are rejected

Returns the CBOR-decoded embedded payload if verification succeeds.

Implementation

T verify<T>({
  required Uint8List msgToCheck,
  required Object? msgToAuth,
  required xdsa.PublicKey verifier,
  required Uint8List domain,
  int? maxDriftSecs,
}) =>
    _decode(
          ffi.coseVerify(
            msgToCheck: msgToCheck,
            msgToAuth: _encode(msgToAuth),
            verifier: verifier.inner,
            domain: domain,
            maxDriftSecs: maxDriftSecs != null
                ? BigInt.from(maxDriftSecs)
                : null,
          ),
        )
        as T;