client

package
v0.0.0-...-54f3407 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2021 License: MPL-2.0, Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package client is a CT log client implementation and contains types and code for interacting with RFC6962-compliant CT Log instances. See http://tools.ietf.org/html/rfc6962 for details

Index

Constants

View Source
const (
	GetSTHPath            = "/ct/v1/get-sth"
	GetEntriesPath        = "/ct/v1/get-entries"
	GetSTHConsistencyPath = "/ct/v1/get-sth-consistency"
	GetProofByHashPath    = "/ct/v1/get-proof-by-hash"
	AddChainPath          = "/ct/v1/add-chain"
)

URI paths for CT Log endpoints

Variables

This section is empty.

Functions

This section is empty.

Types

type LogClient

type LogClient struct {
	// contains filtered or unexported fields
}

LogClient represents a client for a given CT Log instance

func New

func New(uri string) *LogClient

New constructs a new LogClient instance. |uri| is the base URI of the CT log instance to interact with, e.g. http://ct.googleapis.com/pilot

func (*LogClient) AddChain

func (c *LogClient) AddChain(chain [][]byte) (*ct.SignedCertificateTimestamp, error)

func (*LogClient) GetAuditProof

func (c *LogClient) GetAuditProof(hash ct.MerkleTreeNode, treeSize uint64) (ct.AuditPath, uint64, error)

GetAuditProof retrieves a Merkle Audit Proof (aka Inclusion Proof) for the given |hash| based on the STH at |treeSize| from the log. Returns a slice of MerkleTreeNodes and the index of the leaf.

func (*LogClient) GetConsistencyProof

func (c *LogClient) GetConsistencyProof(first, second int64) (ct.ConsistencyProof, error)

GetConsistencyProof retrieves a Merkle Consistency Proof between two STHs (|first| and |second|) from the log. Returns a slice of MerkleTreeNodes (a ct.ConsistencyProof) or a non-nil error.

func (*LogClient) GetEntries

func (c *LogClient) GetEntries(start, end int64) ([]ct.LogEntry, error)

GetEntries attempts to retrieve the entries in the sequence [|start|, |end|] from the CT log server. (see section 4.6.) Returns a slice of LeafInputs or a non-nil error.

func (*LogClient) GetSTH

func (c *LogClient) GetSTH() (sth *ct.SignedTreeHead, err error)

GetSTH retrieves the current STH from the log. Returns a populated SignedTreeHead, or a non-nil error.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL