Documentation

Overview

Package core contains core definitions for the transport package, the most salient of which is likely the Identity type. This type is used to build a Transport instance.

The TLS configurations provided here are designed for three scenarios: mutual authentication for a clients, mutual authentication for servers, and a general-purpose server configuration applicable where mutual authentication is not appropriate.

Index

Constants

This section is empty.

Variables

View Source
var CipherSuites = []uint16{

	0xc030,
	0xc02c,
	0xc02f,
	0xc02b,
}

CipherSuites are the TLS cipher suites that should be used by CloudFlare programs.

View Source
var DefaultBefore = 24 * time.Hour

DefaultBefore is a sensible default; attempt to regenerate certificates the day before they expire.

Functions

This section is empty.

Types

type Identity

type Identity struct {
	// Request contains metadata for constructing certificate requests.
	Request *csr.CertificateRequest `json:"request"`

	// Roots contains a list of sources for trusted roots.
	Roots []*Root `json:"roots"`

	// ClientRoots contains a list of sources for trusted client
	// certificates.
	ClientRoots []*Root `json:"client_roots"`

	// Profiles contains a dictionary of names to dictionaries;
	// this is intended to allow flexibility in supporting
	// multiple configurations.
	Profiles map[string]map[string]string `json:"profiles"`
}

Identity is used to store information about a particular transport.

type Root

type Root struct {
	// Type should contain a string identifier for the type.
	Type string `json:"type"`

	// Metadata contains the information needed to load the
	// root(s).
	Metadata map[string]string `json:"metadata"`
}

A Root stores information about a trusted root.

Source Files