letsencrypt / letsencrypt/boulder

sa/ra: store mtcLogID and mtcEntryIndex on order objects

Open
#8,912 4 comments 0 reactions 1 assignee View on GitHub

@jsha is already working on this.

Since Aug 25, 2026.

Dominant language
Go
Stars
5.8k
Forks
649
Avg merge
3d 23h
Merged PRs (30d)
24

Description

Right now, when the RA issues an MTC, at calls mtca.Issue(), waits for a response, and then drops that response on the floor. To finish plumbing up this code, we need to:

  • Add fields mtcLogID and mtcEntryIndex to message Order in core.proto.
  • Add a new SA method, FinalizeMTCOrder, that takes Id, mtcLogID, and mtcEntryIndex (instead of Id and CertificateSerial as FinalizeOrder takes today).
  • In ra.issueMTC(), call FinalizeMTCOrder after mtca.Issue() returns.
  • In wfe.orderToOrderJSON(), handle the case where order.CertificateSerial is empty but order.mtcLogID and mtcEntryIndex are present. Rendering a stub URL that 404s seems okay for now, until we implement MTC certificate building.

Note that 01-boulder_sa_next.sql currently has this:

ALTER TABLE `orders`
  ADD COLUMN `mtcLogID` varchar(255) DEFAULT NULL,
  ADD COLUMN `mtcSerialNumber` bigint(20) unsigned DEFAULT NULL;

That's a little wrong. We should change mtcSerialNumber to mtcEntryIndex, since the full serial contains the log number, which is redundant with mtcLogID.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.