Help us shape the future of Go! Take the 2026 Go Developer Survey

acme

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2018 License: MIT Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// OSCPMustStaple enables OSCP stapling as from https://github.com/xenolf/lego/issues/270
	OSCPMustStaple = false
)

Functions

This section is empty.

Types

type ACME

type ACME struct {
	Email       string   `description:"Email address used for registration"`
	Domains     []Domain `` /* 162-byte string literal not displayed */
	Storage     string   `description:"File or key used for certificates storage."`
	StorageFile string   // deprecated
	OnDemand    bool     `` //deprecated
	/* 189-byte string literal not displayed */
	OnHostRule        bool           `description:"Enable certificate generation on frontends Host rules."`
	CAServer          string         `description:"CA server to use."`
	EntryPoint        string         `description:"Entrypoint to proxy acme challenge to."`
	DNSChallenge      *DNSChallenge  `description:"Activate DNS-01 Challenge"`
	HTTPChallenge     *HTTPChallenge `description:"Activate HTTP-01 Challenge"`
	DNSProvider       string         `description:"Use a DNS-01 acme challenge rather than TLS-SNI-01 challenge."`                                // deprecated
	DelayDontCheckDNS flaeg.Duration `description:"Assume DNS propagates after a delay in seconds rather than finding and querying nameservers."` // deprecated
	ACMELogging       bool           `description:"Enable debug logging of ACME actions."`

	TLSConfig *tls.Config `description:"TLS config in case wildcard certs are used"`
	// contains filtered or unexported fields
}

ACME allows to connect to lets encrypt and retrieve certs

func (*ACME) AddRoutes added in v1.5.0

func (a *ACME) AddRoutes(router *mux.Router)

AddRoutes add routes on internal router

func (*ACME) CreateClusterConfig added in v1.1.0

func (a *ACME) CreateClusterConfig(leadership *cluster.Leadership, tlsConfig *tls.Config, certs *safe.Safe, checkOnDemandDomain func(domain string) bool) error

CreateClusterConfig creates a tls.config using ACME configuration in cluster mode

func (*ACME) CreateLocalConfig added in v1.1.0

func (a *ACME) CreateLocalConfig(tlsConfig *tls.Config, certs *safe.Safe, checkOnDemandDomain func(domain string) bool) error

CreateLocalConfig creates a tls.config using local ACME configuration

func (*ACME) LoadCertificateForDomains added in v1.1.0

func (a *ACME) LoadCertificateForDomains(domains []string)

LoadCertificateForDomains loads certificates from ACME for given domains

type Account

type Account struct {
	Email              string
	Registration       *acme.RegistrationResource
	PrivateKey         []byte
	DomainsCertificate DomainsCertificates
	ChallengeCerts     map[string]*ChallengeCert
	HTTPChallenge      map[string]map[string][]byte
}

Account is used to store lets encrypt registration info

func NewAccount added in v1.1.0

func NewAccount(email string) (*Account, error)

NewAccount creates an account

func (*Account) GetEmail

func (a *Account) GetEmail() string

GetEmail returns email

func (*Account) GetPrivateKey

func (a *Account) GetPrivateKey() crypto.PrivateKey

GetPrivateKey returns private key

func (*Account) GetRegistration

func (a *Account) GetRegistration() *acme.RegistrationResource

GetRegistration returns lets encrypt registration resource

func (*Account) Init added in v1.1.0

func (a *Account) Init() error

Init inits account struct

type Certificate

type Certificate struct {
	Domain        string
	CertURL       string
	CertStableURL string
	PrivateKey    []byte
	Certificate   []byte
}

Certificate is used to store certificate info

type ChallengeCert added in v1.1.0

type ChallengeCert struct {
	Certificate []byte
	PrivateKey  []byte
	// contains filtered or unexported fields
}

ChallengeCert stores a challenge certificate

type DNSChallenge added in v1.5.0

type DNSChallenge struct {
	Provider         string         `description:"Use a DNS-01 based challenge provider rather than HTTPS."`
	DelayBeforeCheck flaeg.Duration `description:"Assume DNS propagates after a delay in seconds rather than finding and querying nameservers."`
}

DNSChallenge contains DNS challenge Configuration

type Domain

type Domain struct {
	Main string
	SANs []string
}

Domain holds a domain name with SANs

type Domains

type Domains []Domain

Domains parse []Domain

func (*Domains) Get

func (ds *Domains) Get() interface{}

Get []Domain

func (*Domains) Set

func (ds *Domains) Set(str string) error

Set []Domain

func (*Domains) SetValue

func (ds *Domains) SetValue(val interface{})

SetValue sets []Domain into the parser

func (*Domains) String

func (ds *Domains) String() string

String returns []Domain in string

type DomainsCertificate

type DomainsCertificate struct {
	Domains     Domain
	Certificate *Certificate
	// contains filtered or unexported fields
}

DomainsCertificate contains a certificate for multiple domains

type DomainsCertificates

type DomainsCertificates struct {
	Certs []*DomainsCertificate
	// contains filtered or unexported fields
}

DomainsCertificates stores a certificate for multiple domains

func (*DomainsCertificates) Init added in v1.1.0

func (dc *DomainsCertificates) Init() error

Init inits DomainsCertificates

func (*DomainsCertificates) Len added in v1.1.2

func (dc *DomainsCertificates) Len() int

func (*DomainsCertificates) Less added in v1.1.2

func (dc *DomainsCertificates) Less(i, j int) bool

func (*DomainsCertificates) Swap added in v1.1.2

func (dc *DomainsCertificates) Swap(i, j int)

type HTTPChallenge added in v1.5.0

type HTTPChallenge struct {
	EntryPoint string `description:"HTTP challenge EntryPoint"`
}

HTTPChallenge contains HTTP challenge Configuration

type LocalStore added in v1.1.0

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

LocalStore is a store using a file as storage

func NewLocalStore added in v1.1.0

func NewLocalStore(file string) *LocalStore

NewLocalStore create a LocalStore

func (*LocalStore) Begin added in v1.1.0

Begin creates a transaction with the KV store.

func (*LocalStore) Get added in v1.1.0

func (s *LocalStore) Get() cluster.Object

Get atomically a struct from the file storage

func (*LocalStore) Load added in v1.1.0

func (s *LocalStore) Load() (cluster.Object, error)

Load loads file into store

Jump to

Keyboard shortcuts

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