certbot.achallenges module

Client annotated ACME challenges.

Please use names such as achall to distinguish from variables “of type” acme.challenges.Challenge (denoted by chall) and ChallengeBody (denoted by challb):

from acme import challenges
from acme import messages
from certbot import achallenges

chall = challenges.DNS(token='foo')
challb = messages.ChallengeBody(chall=chall)
achall = achallenges.DNS(chall=challb, domain='example.com')

Note, that all annotated challenges act as a proxy objects:

achall.token == challb.token
class certbot.achallenges.AnnotatedChallenge(**kwargs: Any)[source]

Bases: ImmutableMap

Client annotated challenge.

Wraps around server provided challenge and annotates with data useful for the client.

Variables:

~.challb – Wrapped ChallengeBody.

challb
class certbot.achallenges.KeyAuthorizationAnnotatedChallenge(**kwargs: Any)[source]

Bases: AnnotatedChallenge

Client annotated KeyAuthorizationChallenge challenge.

response_and_validation(*args: Any, **kwargs: Any) Any[source]

Generate response and validation.

challb
domain
account_key
class certbot.achallenges.DNS(**kwargs: Any)[source]

Bases: AnnotatedChallenge

Client annotated “dns” ACME challenge.

acme_type

alias of DNS

challb
domain
class certbot.achallenges.Other(**kwargs: Any)[source]

Bases: AnnotatedChallenge

Client annotated ACME challenge of an unknown type.

acme_type

alias of Challenge

challb
domain