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)[source]

Bases: acme.jose.util.ImmutableMap

Client annotated challenge.

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

Variables:challb – Wrapped ChallengeBody.
class certbot.achallenges.KeyAuthorizationAnnotatedChallenge(**kwargs)[source]

Bases: certbot.achallenges.AnnotatedChallenge

Client annotated KeyAuthorizationChallenge challenge.

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

Generate response and validation.

class certbot.achallenges.DNS(**kwargs)[source]

Bases: certbot.achallenges.AnnotatedChallenge

Client annotated “dns” ACME challenge.


alias of DNS