letsencrypt / letsencrypt/boulder
Remove non-standard ACME fields from WFE2 responses
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 5.8k
- Forks
- 649
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 24
Description
We'd like to start deprecating and removing non-standard fields from Boulder's responses.
Checklist of wire-level fields Boulder emits that are not defined in the RFCs or the drafts Boulder implements: RFC 8555, RFC 9773, RFC 8737, draft-ietf-acme-profiles, draft-ietf-acme-dns-account-challenge, draft-ietf-acme-dns-persist).
-
Account
key— emits the full JWK on every account response. RFC 8555
§7.1.2 enumerates exactlystatus,contact,termsOfServiceAgreed,
externalAccountBinding,orders;keyis not defined, and §7.3
specifies the server "MUST NOT reflect … any unrecognized fields" in the
resulting account object.
core.Registration.Key -
Account
createdAt— non-standard timestamp on account responses.
Not defined in RFC 8555 §7.1.2.
core.Registration.CreatedAt -
Challenge
validationRecord— serializes an internal object tree
(URLs, hostnames, ports, resolved/tried IPs, resolver addresses) onto
challenge responses. RFC 8555 §7.1.5 / §8 define onlytype,url,
status,validated,errorplus per-type fields; this field is not
defined for any challenge type in RFC 8555, RFC 8737, or the dns-account
/ dns-persist drafts.
core.Challenge.ValidationRecord
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in core/objects.go at Registration.Key, Registration.CreatedAt, and Challenge.ValidationRecord, then trace how these fields are serialized into WFE2 responses. Use the cited RFC sections to confirm the allowed response fields. Done means the three non-standard fields no longer appear in the relevant account and challenge responses, with coverage for the changed wire format.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, security
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100