acme

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 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 acccount 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