letsencrypt / letsencrypt/boulder
mtca: calculate and write subtrees
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 5.8k
- Forks
- 649
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 24
Description
Right now we do a bit of a hack where we get a sign-subtrees response from mirrors for one big subtree that covers the whole tree at a given checkpoint. The MTCA should:
- Calculate the up-to-two subtrees that cover the range between a new checkpoint and the previous one.
- Sign those subtrees.
- Write those subtrees to the
checkpointSubtreestable. - Return the appropriate subtree ID as part of the Issue() response.
The mtpublisher should:
- Poll for recent rows in
checkpointSubtreesthat lack a mirror signature. - Request sign-subtrees from mirrors.
- Write the first result to
checkpointSubtrees.
The MTCB should:
- Read signatures from
checkpointSubtreeswhen building standalone certificates.
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
Read the MTCA Issue() path, the checkpointSubtrees table flow, the mtpublisher polling path, and MTCB standalone-certificate construction. Trace how checkpoint ranges, subtree IDs, and mirror signatures move between these components. Done means MTCA calculates and stores the subtrees, mtpublisher fills missing mirror signatures, and MTCB reads them for standalone certificates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, databases, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 39/100