letsencrypt / letsencrypt/boulder

cert-checker: consume MTC logs

Open
#8,981 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Once we're issuing trusted MTCs, we'll need cert-checker to be able to check them post-issuance. For some checks, like SAN blocking and general linting, the TBSCertificateLogEntry structs will suffice, though we'll need to adapt our linting infrastructure to accept them.

For key quality checks in particular, we'll need to consume actual pubkeys, not the hashed SPKI available from TBSCertificateLogEntry. This probably means cert-checker reading tiles and being aware of our local extension to tlog-tiles that stores pubkeys in tiles parallel to TBSCertificateLogEntries.

We should also decide if cert-checker will consume fully-built MTCs (standalone and landmark-relative certificates with MTCProof signature attached). That would allow us to post-hoc audit for syntax errors in building those MTCs. It would require us to log or otherwise store them at the time we build them. The standalone certificates in particular would be big because they contain signatures.

Part of #8738

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.

Research direction

Start by reviewing cert-checker, the TBSCertificateLogEntry structs, and the related work in #8738. Determine how cert-checker should consume tlog-tiles and whether fully-built MTCs must be stored for auditing. Done means the supported MTC data sources and checks are decided and documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cryptography, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.