Overview of Certificate Transparency Go Code
masterThis repository provides Go implementations for Certificate Transparency (CT) functionality. It includes encoding libraries, client libraries for interacting with CT Logs via HTTP or DNS, a scanner for existing logs, and a personality for running CT Logs using Trillian as a backend.
Requirements:
- Go version 1.24
Core Components:
- Encoding Libraries: Forks of
encoding/asn1andcrypto/x509designed to process somewhat-malformed certificates (acting as an observatory), plustlsfor RFC 5246 processing andx509utilfor certificate utilities. - CT Client Libraries: The
ctpackage for RFC 6962 data structures;client/andjsonclient/for HTTP access;dnsclient/for DNS access; andscanner/for scanning log contents. - Trillian CT Personality: Located in
trillian/, this allows running a CT Log using a Trillian Log backend. - CLI Tools:
client/ctclient: Interact with a CT Log.ctutil/sctcheck: Verify SCTs (signed certificate timestamps).scanner/scanlog: Scan an existing log for certificates (use politely).x509util/certcheck: Display and verify certificates.x509util/crlcheck: Display and verify CRLs.