Required parameters present
The signature parameters must include created, expires, keyid, and tag.
What this check verifies
After the covered-component list, Signature-Input carries the signature parameters as ;name=value pairs. For the web-bot-auth profile four are required:
created- a Unix timestamp for when the signature was made.expires- a Unix timestamp for when it stops being valid.keyid- which key signed it, as a base64url RFC 7638 thumbprint.tag- the profile label, which must beweb-bot-auth.
Signature-Input: sig1=("@authority");created=1717603200;expires=1717606800;keyid="poqkLGiymh_W0uP6PZFw-dvez3QJT5SolqXBCW38r0";tag="web-bot-auth"
This check confirms all four names are present. It does not check their values here; the timestamp bounds, the tag value, and keyid resolution have their own checks. alg and nonce are optional and not required by this check.
Why it matters
Each required parameter feeds a later step. created and expires bound the validity window so a verifier can reject stale or premature signatures. keyid tells the verifier which directory key to check against. tag identifies the profile so a verifier knows the request is claiming to be Web Bot Auth rather than some other use of HTTP Message Signatures. A missing parameter leaves one of those steps with nothing to work with.
The parameters are also part of the signed input: they appear in @signature-params inside the signature base. Adding or dropping one after signing changes the base and breaks verification, so the set has to be right at signing time.
How to fix it
Include all four parameters when you build Signature-Input:
;created=<unix-seconds>;expires=<unix-seconds>;keyid="<thumbprint>";tag="web-bot-auth"
- Set
createdandexpiresto integer Unix timestamps in seconds, withexpiresaftercreated. - Set
keyidto the RFC 7638 thumbprint of the signing key, matching a key in your directory. - Set
tagto the literal stringweb-bot-auth.
A signing library for the profile sets these for you. If you assemble the header by hand, confirm none of the four is dropped.
References
- RFC 9421 defines the
created,expires,keyid, andtagsignature parameters. - RFC 7638 defines the JWK thumbprint used as
keyid. - The web-bot-auth architecture draft lists
created,expires,keyid, andtagas the mandatory parameters. - How grading works explains how a missing parameter affects the grade.
How the checker scores this
- Tier
- Signature
- Role
- Advisory. Failing this never caps the grade or changes the verdict.
- Point deduction
- A failure deducts 30 points; a warning deducts 8.