...

Package util

import "github.com/google/certificate-transparency-go/trillian/util"
Overview
Index

Overview ▾

Package util provides general utility functions for the CT personality.

func BuildLogLeaf

func BuildLogLeaf(logPrefix string,
    merkleLeaf ct.MerkleTreeLeaf, leafIndex int64,
    cert ct.ASN1Cert, chain []ct.ASN1Cert, isPrecert bool,
) (trillian.LogLeaf, error)

BuildLogLeaf returns a Trillian LogLeaf structure for a (pre-)cert and the chain of certificates leading it up to a known root.

func ExtraDataForChain

func ExtraDataForChain(cert ct.ASN1Cert, chain []ct.ASN1Cert, isPrecert bool) ([]byte, error)

ExtraDataForChain creates the extra data associated with a log entry as described in RFC6962 section 4.6.

type FixedTimeSource

FixedTimeSource provides a fixed time for use in tests. It should not be used in production code.

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

func NewFixedTimeSource

func NewFixedTimeSource(t time.Time) *FixedTimeSource

NewFixedTimeSource creates a FixedTimeSource instance

func (*FixedTimeSource) Now

func (f *FixedTimeSource) Now() time.Time

Now returns the time value this instance contains

type SystemTimeSource

SystemTimeSource provides the current system local time

type SystemTimeSource struct{}

func (SystemTimeSource) Now

func (s SystemTimeSource) Now() time.Time

Now returns the true current local time.

type TimeSource

TimeSource can provide the current time, or be replaced by a mock in tests to return specific values.

type TimeSource interface {
    // Now returns the current time in real implementations or a suitable value in others
    Now() time.Time
}