The AlgoVoi RFC 9421 verifier is a standalone reference implementation of RFC 9421 (HTTP Message Signatures) and RFC 9530 (Digest Fields for HTTP). It is standalone — a verifier can re-validate any RFC 9421-signed request against a known public key without trusting AlgoVoi’s gateway, signing service, or control plane.Documentation Index
Fetch the complete documentation index at: https://docs.algovoi.co.uk/llms.txt
Use this file to discover all available pages before exploring further.
Python (PyPI)
pip install algovoi-rfc9421-verifierTypeScript (npm)
npm install @algovoi/rfc9421-verifierUse cases
- Inbound request verification — verify an RFC 9421-signed HTTP request against a known public key before processing it.
- Proxy-chain re-validation — re-validate a captured request after it traverses a TLS-re-terminating proxy chain (the property pinned in the
rfc9421_proxy_chain_v0conformance fixture). - Conformance test harnesses — build test suites anchored to the RFC 8032 Section 7.1 deterministic Ed25519 reference keypair, byte-reproducible across both implementations.
- A2A and x402 receipt validation — verify that incoming compliance receipts and settlement attestations carry valid HTTP signatures before inserting them into the audit chain.
What the verifier checks
| # | Check | What it proves |
|---|---|---|
| 1 | Signature-Input parse | Header parses to a valid covered-component list with keyid, alg, and created parameters |
| 2 | Content-Digest match | SHA-256 or SHA-512 digest of the request body matches the Content-Digest field (RFC 9530) |
| 3 | Signature base reconstruction | Canonical signature base rebuilt from covered components per RFC 9421 §2.5 |
| 4 | Key verification | Ed25519 or ECDSA-P256 signature over the reconstructed base verifies against the supplied public key |
| 5 | created freshness | created timestamp is within the caller-configurable freshness window (default: 300 s) |
Quick start
Python
TypeScript
Cross-implementation parity
The Python and TypeScript verifiers produce byte-identical output on the same inputs. Parity is exercised against the RFC 8032 Section 7.1 Test 1 reference Ed25519 keypair:- Same
Signature-Inputparse output - Same signature base reconstruction bytes
- Same
Content-Digestcomputation (SHA-256 and SHA-512) - Same pass/fail verdict across all conformance fixtures
rfc9421_proxy_chain_v0 vector set at the conformance vectors repository pins these properties byte-reproducibly.
24/24 cross-implementation agreements in the AlgoVoi attestation run dated 2026-05-24.
Algorithm support
| Algorithm | Identifier | Key format |
|---|---|---|
| Ed25519 | ed25519 | 32-byte hex or raw bytes |
| ECDSA-P256 | ecdsa-p256-sha256 | SEC1 compressed or uncompressed |
Composition with the compliance stack
The verifier composes with the JCS canonicalisation substrate. A compliance receipt or settlement attestation emitted by AlgoVoi’s gateway carries an RFC 9421 signature over its HTTP delivery. A downstream verifier can:- Verify the HTTP signature to confirm the receipt was issued by the declared
keyidDID. - Verify the
content_hashof the receipt body using the audit verifier.
Conformance vectors
Therfc9421_proxy_chain_v0 fixture set at algovoi-jcs-conformance-vectors covers:
- Baseline signing and verification round-trip (Ed25519 + ECDSA-P256)
- Proxy chain re-validation after TLS re-termination
Content-Digestcomputation for empty and non-empty bodiescreatedfreshness window enforcement- Covered-component ordering invariants
See also
- Canonicalisation substrate — the JCS RFC 8785 discipline that underpins the receipt formats
- Audit verifier — selective-disclosure audit-bundle verifier
- Conformance vectors — full cross-implementation vector corpus
- Package suite — all 16 AlgoVoi packages at a glance
- Substrate authorship and provenance — citable AlgoVoi authorship record