lego: Index | Files | Directories

package challenge

import ""


Package Files

challenges.go provider.go


const (
    // HTTP01 is the "http-01" ACME challenge
    // Note: ChallengePath returns the URL path to fulfill this challenge
    HTTP01 = Type("http-01")

    // DNS01 is the "dns-01" ACME challenge
    // Note: GetRecord returns a DNS record which will fulfill this challenge
    DNS01 = Type("dns-01")

    // TLSALPN01 is the "tls-alpn-01" ACME challenge
    TLSALPN01 = Type("tls-alpn-01")

func FindChallenge Uses

func FindChallenge(chlgType Type, authz acme.Authorization) (acme.Challenge, error)

func GetTargetedDomain Uses

func GetTargetedDomain(authz acme.Authorization) string

type Provider Uses

type Provider interface {
    Present(domain, token, keyAuth string) error
    CleanUp(domain, token, keyAuth string) error

Provider enables implementing a custom challenge provider. Present presents the solution to a challenge available to be solved. CleanUp will be called by the challenge if Present ends in a non-error state.

type ProviderTimeout Uses

type ProviderTimeout interface {
    Timeout() (timeout, interval time.Duration)

ProviderTimeout allows for implementing a Provider where an unusually long timeout is required when waiting for an ACME challenge to be satisfied, such as when checking for DNS record propagation. If an implementor of a Provider provides a Timeout method, then the return values of the Timeout method will be used when appropriate by the acme package. The interval value is the time between checks.

The default values used for timeout and interval are 60 seconds and 2 seconds respectively. These are used when no Timeout method is defined for the Provider.

type Type Uses

type Type string

Type is a string that identifies a particular challenge type and version of ACME challenge.

func (Type) String Uses

func (t Type) String() string



Package challenge imports 3 packages (graph) and is imported by 14 packages. Updated 2019-11-06. Refresh now. Tools for package owners.