...

Package schema

import "github.com/letsencrypt/boulder/ctpolicy/loglist/schema"
Overview
Index

Overview ▾

type LogListSchemaJson

type LogListSchemaJson struct {
    // The time at which this version of the log list was published.
    LogListTimestamp *string `json:"log_list_timestamp,omitempty"`

    // People/organizations that run Certificate Transparency logs.
    Operators []LogListSchemaJsonOperatorsElem `json:"operators"`

    // The version will change whenever a change is made to any part of this log list.
    Version *string `json:"version,omitempty"`
}

func (*LogListSchemaJson) UnmarshalJSON

func (j *LogListSchemaJson) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogListSchemaJsonOperatorsElem

type LogListSchemaJsonOperatorsElem struct {
    // The log operator can be contacted using any of these email addresses.
    Email []string `json:"email"`

    // Details of Certificate Transparency logs run by this operator.
    Logs []LogListSchemaJsonOperatorsElemLogsElem `json:"logs"`

    // Name corresponds to the JSON schema field "name".
    Name string `json:"name"`
}

func (*LogListSchemaJsonOperatorsElem) UnmarshalJSON

func (j *LogListSchemaJsonOperatorsElem) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogListSchemaJsonOperatorsElemLogsElem

type LogListSchemaJsonOperatorsElemLogsElem struct {
    // A human-readable description that can be used to identify this log.
    Description *string `json:"description,omitempty"`

    // The API endpoints are defined in
    // https://github.com/google/certificate-transparency-rfcs/blob/master/dns/draft-ct-over-dns.md.
    Dns *string `json:"dns,omitempty"`

    // The log's public key as a DER-encoded ASN.1 SubjectPublicKeyInfo structure,
    // then encoded as base64 (https://tools.ietf.org/html/rfc5280#section-4.1.2.7).
    Key string `json:"key"`

    // This is the LogID found in SCTs issued by this log
    // (https://tools.ietf.org/html/rfc6962#section-3.2).
    LogId string `json:"log_id"`

    // The purpose of this log, e.g. test.
    LogType *LogListSchemaJsonOperatorsElemLogsElemLogType `json:"log_type,omitempty"`

    // The CT log should not take longer than this to incorporate a certificate
    // (https://tools.ietf.org/html/rfc6962#section-3).
    Mmd float64 `json:"mmd"`

    // If the log has changed operators, this will contain a list of the previous
    // operators, along with the timestamp when they stopped operating the log.
    PreviousOperators []LogListSchemaJsonOperatorsElemLogsElemPreviousOperatorsElem `json:"previous_operators,omitempty"`

    // State corresponds to the JSON schema field "state".
    State *LogListSchemaJsonOperatorsElemLogsElemState `json:"state,omitempty"`

    // The log will only accept certificates that expire (have a NotAfter date)
    // between these dates.
    TemporalInterval *LogListSchemaJsonOperatorsElemLogsElemTemporalInterval `json:"temporal_interval,omitempty"`

    // The API endpoints are defined in https://tools.ietf.org/html/rfc6962#section-4.
    Url string `json:"url"`
}

func (*LogListSchemaJsonOperatorsElemLogsElem) UnmarshalJSON

func (j *LogListSchemaJsonOperatorsElemLogsElem) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogListSchemaJsonOperatorsElemLogsElemLogType

type LogListSchemaJsonOperatorsElemLogsElemLogType string
const LogListSchemaJsonOperatorsElemLogsElemLogTypeProd LogListSchemaJsonOperatorsElemLogsElemLogType = "prod"
const LogListSchemaJsonOperatorsElemLogsElemLogTypeTest LogListSchemaJsonOperatorsElemLogsElemLogType = "test"

func (*LogListSchemaJsonOperatorsElemLogsElemLogType) UnmarshalJSON

func (j *LogListSchemaJsonOperatorsElemLogsElemLogType) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogListSchemaJsonOperatorsElemLogsElemPreviousOperatorsElem

type LogListSchemaJsonOperatorsElemLogsElemPreviousOperatorsElem struct {
    // The time at which this operator stopped operating this log.
    EndTime string `json:"end_time"`

    // Name corresponds to the JSON schema field "name".
    Name string `json:"name"`
}

func (*LogListSchemaJsonOperatorsElemLogsElemPreviousOperatorsElem) UnmarshalJSON

func (j *LogListSchemaJsonOperatorsElemLogsElemPreviousOperatorsElem) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type LogListSchemaJsonOperatorsElemLogsElemState

type LogListSchemaJsonOperatorsElemLogsElemState struct {
    // Pending corresponds to the JSON schema field "pending".
    Pending *State `json:"pending,omitempty"`

    // Qualified corresponds to the JSON schema field "qualified".
    Qualified *State `json:"qualified,omitempty"`

    // Readonly corresponds to the JSON schema field "readonly".
    Readonly interface{} `json:"readonly,omitempty"`

    // Rejected corresponds to the JSON schema field "rejected".
    Rejected *State `json:"rejected,omitempty"`

    // Retired corresponds to the JSON schema field "retired".
    Retired *State `json:"retired,omitempty"`

    // Usable corresponds to the JSON schema field "usable".
    Usable *State `json:"usable,omitempty"`
}

type LogListSchemaJsonOperatorsElemLogsElemTemporalInterval

The log will only accept certificates that expire (have a NotAfter date) between these dates.

type LogListSchemaJsonOperatorsElemLogsElemTemporalInterval struct {
    // All certificates must expire before this date.
    EndExclusive string `json:"end_exclusive"`

    // All certificates must expire on this date or later.
    StartInclusive string `json:"start_inclusive"`
}

func (*LogListSchemaJsonOperatorsElemLogsElemTemporalInterval) UnmarshalJSON

func (j *LogListSchemaJsonOperatorsElemLogsElemTemporalInterval) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.

type State

type State struct {
    // The time at which the log entered this state.
    Timestamp string `json:"timestamp"`
}

func (*State) UnmarshalJSON

func (j *State) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler.