Documentation
ΒΆ
Index ΒΆ
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func NewLogHandler ΒΆ
func NewLogHandler(ctx context.Context, origin string, signer crypto.Signer, cfg ChainValidationConfig, cs storage.CreateStorage, httpDeadline time.Duration, maskInternalErrors bool, pathPrefix string, opts LogHandlerOpts) (http.Handler, error)
NewLogHandler creates a Tessera based CT log plugged into HTTP handlers.
HTTP server handlers implement static-ct-api submission APIs: https://c2sp.org/static-ct-api#submission-apis. It populates the data served via monitoring APIs (https://c2sp.org/static-ct-api#submission-apis) but it _does not_ implement monitoring APIs itself. Monitoring APIs should be served independently, either through the storage's system serving infrastructure directly (GCS over HTTPS for instance), or with an independent serving stack of your choice.
Types ΒΆ
type ChainValidationConfig ΒΆ
type ChainValidationConfig struct {
// RootsPEMFile is the path to the file containing root certificates that
// are acceptable to the log. The certs are served through get-roots
// endpoint.
RootsPEMFile string
// RootsRemoteFetchURLs configures an endpoint to fetch additional roots from.
RootsRemoteFetchURLs []string
// RootsRemoteFetchInterval configures the frequency at which to fetch
// roots from RootsRemoteEndpoint.
RootsRemoteFetchInterval time.Duration
// RootsRemoteFetchBackup is a persistent backup storage for roots fetched
// remotely.
RootsRemoteFetchBackup storage.RootsStorage
// RejectRoots is a list of hex-encoded SHA-256 fingerprints of ASN.1 DER
// encoded root certificates that should never be trusted.
RejectRoots []string
// RejectExpired controls if true then the certificate validity period will be
// checked against the current time during the validation of submissions.
// This will cause expired certificates to be rejected.
RejectExpired bool
// RejectUnexpired controls if TesseraCT rejects certificates that are
// either currently valid or not yet valid.
// TODO(phboneff): evaluate whether we need to keep this one.
RejectUnexpired bool
// ExtKeyUsages lists Extended Key Usage values that newly submitted
// certificates MUST contain. By default all are accepted. The
// values specified must be ones known to the x509 package, comma separated.
ExtKeyUsages string
// RejectExtensions lists X.509 extension OIDs that newly submitted
// certificates MUST NOT contain. Empty by default. Values must be
// specificed in dotted string form (e.g. "2.3.4.5").
RejectExtensions string
// NotAfterStart defines the start of the range of acceptable NotAfter
// values, inclusive.
// Leaving this unset implies no lower bound to the range.
NotAfterStart *time.Time
// NotAfterLimit defines the end of the range of acceptable NotAfter values,
// exclusive.
// Leaving this unset implies no upper bound to the range.
NotAfterLimit *time.Time
// AcceptSHA1 specifies whether cert chains using SHA-1 based signing algorithms
// are allowed.
// CAUTION: This is a temporary solution and it will eventually be removed.
// DO NOT depend on it.
AcceptSHA1 bool
}
ChainValidationConfig contains parameters to configure chain validation.
type LogHandlerOpts ΒΆ added in v0.1.1
type LogHandlerOpts struct {
NotBeforeRL *NotBeforeRL
DedupRL float64
MaxCertChainBytes int64
}
type NotBeforeRL ΒΆ added in v0.1.1
NotBeforeRL configures rate limits based on certificate not_before's age.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
experimental/fetch_roots
command
fetch_roots is a command-line tool for fetching PEM roots that production CT logs should trust from the Common CA Database (CCADB).
|
fetch_roots is a command-line tool for fetching PEM roots that production CT logs should trust from the Common CA Database (CCADB). |
|
experimental/migrate/gcp
command
migrate-gcp is a command-line tool for migrating data from a static-ct compliant log, into a TesseraCT log instance.
|
migrate-gcp is a command-line tool for migrating data from a static-ct compliant log, into a TesseraCT log instance. |
|
experimental/migrate/posix
command
migrate-posix is a command-line tool for migrating data from a static-ct compliant log, into a TesseraCT log instance using POSIX storage.
|
migrate-posix is a command-line tool for migrating data from a static-ct compliant log, into a TesseraCT log instance using POSIX storage. |
|
fsck
command
fsck is a command-line tool for checking the integrity of a static-ct based log.
|
fsck is a command-line tool for checking the integrity of a static-ct based log. |
|
fsck/internal/tui
Package tui provides a Bubbletea-based TUI for the fsck command.
|
Package tui provides a Bubbletea-based TUI for the fsck command. |
|
tesseract/aws
command
The ct_server binary runs the CT personality.
|
The ct_server binary runs the CT personality. |
|
tesseract/gcp
command
The ct_server binary runs the CT personality.
|
The ct_server binary runs the CT personality. |
|
tesseract/gcp/generate_key
command
generate_key is a tool for generating an ECDSA key pair and storing it in GCP Secret Manager.
|
generate_key is a tool for generating an ECDSA key pair and storing it in GCP Secret Manager. |
|
tesseract/posix
command
The ct_server binary runs the CT personality.
|
The ct_server binary runs the CT personality. |
|
internal
|
|
|
client
Package client provides client support for interacting with logs that uses the [tlog-tiles API].
|
Package client provides client support for interacting with logs that uses the [tlog-tiles API]. |
|
hammer
command
hammer is a tool to load test a Static CT API log.
|
hammer is a tool to load test a Static CT API log. |
|
logger
Package logger provides structured logging utilities.
|
Package logger provides structured logging utilities. |
|
types/tls
Package tls implements functionality for dealing with TLS-encoded data, as defined in RFC 5246.
|
Package tls implements functionality for dealing with TLS-encoded data, as defined in RFC 5246. |