Documentation ¶
Overview ¶
Package minimal provides a minimal gossip implementation for CT which uses X.509 certificate extensions to hold gossiped STH values for logs. This allows STH values to be exchanged between participating logs without any changes to the log software (although participating logs will need to add additional trusted roots for the gossip sources).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Goshawk ¶
type Goshawk struct {
// contains filtered or unexported fields
}
Goshawk is an agent that retrieves certificates from a destination log that have STH values embedded in them. Each STH is then checked for consistency against the source log.
func NewGoshawk ¶
func NewGoshawk(ctx context.Context, cfg *configpb.GoshawkConfig, hc *http.Client, scanOpts scanner.ScannerOptions) (*Goshawk, error)
NewGoshawk creates a gossiper from the given configuration protobuf and optional http client.
func NewGoshawkFromFile ¶
func NewGoshawkFromFile(ctx context.Context, filename string, hc *http.Client, scanOpts scanner.ScannerOptions) (*Goshawk, error)
NewGoshawkFromFile creates a Goshawk from the given filename, which should contain text-protobuf encoded configuration data, together with an optional http Client.
func (*Goshawk) CertificateMatches ¶
func (hawk *Goshawk) CertificateMatches(cert *x509.Certificate) bool
CertificateMatches identifies certificates in the log that have the STH extension.
func (*Goshawk) Fly ¶
Fly starts a collection of goroutines to perform log scanning and STH consistency checking. It should be terminated by cancelling the passed-in context.
func (*Goshawk) PrecertificateMatches ¶
PrecertificateMatches identifies those precertificates in the log that are of interest: none.
type Gossiper ¶
type Gossiper struct {
// contains filtered or unexported fields
}
Gossiper is an agent that retrieves STH values from a set of source logs and distributes it to a destination log in the form of an X.509 certificate with the STH value embedded in it.
func NewGossiper ¶
func NewGossiper(ctx context.Context, cfg *configpb.GossipConfig, hc *http.Client) (*Gossiper, error)
NewGossiper creates a gossiper from the given configuration protobuf and optional http client.
func NewGossiperFromFile ¶
NewGossiperFromFile creates a gossiper from the given filename, which should contain text-protobuf encoded configuration data, together with an optional http Client.
func (*Gossiper) CheckRootIncluded ¶
CheckRootIncluded checks whether the gossiper's root certificate is included by all destination logs.
Directories ¶
Path | Synopsis |
---|---|
Package configpb holds a config protobuf for minimal gossip binaries.
|
Package configpb holds a config protobuf for minimal gossip binaries. |
The goshawk binary scans a destination log for gossiped STH values and checks consistency against the source logs.
|
The goshawk binary scans a destination log for gossiped STH values and checks consistency against the source logs. |
The gosmin binary runs a minimal gossip implementation.
|
The gosmin binary runs a minimal gossip implementation. |
Package x509ext holds extensions types and values for minimal gossip.
|
Package x509ext holds extensions types and values for minimal gossip. |