acme

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2016 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

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."`
	// 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

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