Test vectors
Validate request signing (ES256 and PS256) and webhook HMAC offline, without a credential.
The values below are generated and verified by the same code that validates
in production (internal/reqsign). If your implementation reproduces these
signatures, it will pass at the gateway.
The PS256 private key published here exists only so you can reproduce the vector. It was never registered on any credential; do not use it for anything else.
Request signature
Both algorithms sign the same canonical string (LF between lines, no trailing newline):
ES256
PS256
Public key (SPKI PEM)
Detached JWS (X-Request-Signature)
The ES256 signature is 64 bytes (R||S, ieee-p1363). DER does not verify.
Webhook HMAC signature
With authType: HMAC, every delivery carries X-Signature = base64(HMAC_SHA256(secret, raw_body)). Compute it over the exact bytes received — never over re-serialised JSON.
Raw body