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

acme

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2017 License: MIT Imports: 34 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     `` /* 178-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."`
	DNSProvider       string   `description:"Use a DNS based challenge provider rather than HTTPS."`
	DelayDontCheckDNS int      `description:"Assume DNS propagates after a delay in seconds rather than finding and querying nameservers."`
	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) CreateClusterConfig added in v1.1.0

func (a *ACME) CreateClusterConfig(leadership *cluster.Leadership, tlsConfig *tls.Config, 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, 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
}

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

func TLSSNI01ChallengeCert added in v1.1.0

func TLSSNI01ChallengeCert(keyAuth string) (ChallengeCert, string, error)

TLSSNI01ChallengeCert returns a certificate and target domain for the `tls-sni-01` challenge

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 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