mirror of
https://github.com/certbot/certbot.git
synced 2026-07-31 18:34:41 +02:00
Factor out common challengeperformer logic (#5413)
This commit is contained in:
@@ -315,23 +315,28 @@ class Addr(object):
|
||||
return result
|
||||
|
||||
|
||||
class TLSSNI01(object):
|
||||
"""Abstract base for TLS-SNI-01 challenge performers"""
|
||||
class ChallengePerformer(object):
|
||||
"""Abstract base for challenge performers.
|
||||
|
||||
:ivar configurator: Authenticator and installer plugin
|
||||
:ivar achalls: Annotated challenges
|
||||
:vartype achalls: `list` of `.KeyAuthorizationAnnotatedChallenge`
|
||||
:ivar indices: Holds the indices of challenges from a larger array
|
||||
so the user of the class doesn't have to.
|
||||
:vartype indices: `list` of `int`
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, configurator):
|
||||
self.configurator = configurator
|
||||
self.achalls = []
|
||||
self.indices = []
|
||||
self.challenge_conf = os.path.join(
|
||||
configurator.config.config_dir, "le_tls_sni_01_cert_challenge.conf")
|
||||
# self.completed = 0
|
||||
|
||||
def add_chall(self, achall, idx=None):
|
||||
"""Add challenge to TLSSNI01 object to perform at once.
|
||||
"""Store challenge to be performed when perform() is called.
|
||||
|
||||
:param .KeyAuthorizationAnnotatedChallenge achall: Annotated
|
||||
TLSSNI01 challenge.
|
||||
|
||||
challenge.
|
||||
:param int idx: index to challenge in a larger array
|
||||
|
||||
"""
|
||||
@@ -339,6 +344,27 @@ class TLSSNI01(object):
|
||||
if idx is not None:
|
||||
self.indices.append(idx)
|
||||
|
||||
def perform(self):
|
||||
"""Perform all added challenges.
|
||||
|
||||
:returns: challenge respones
|
||||
:rtype: `list` of `acme.challenges.KeyAuthorizationChallengeResponse`
|
||||
|
||||
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
|
||||
class TLSSNI01(ChallengePerformer):
|
||||
# pylint: disable=abstract-method
|
||||
"""Abstract base for TLS-SNI-01 challenge performers"""
|
||||
|
||||
def __init__(self, configurator):
|
||||
super(TLSSNI01, self).__init__(configurator)
|
||||
self.challenge_conf = os.path.join(
|
||||
configurator.config.config_dir, "le_tls_sni_01_cert_challenge.conf")
|
||||
# self.completed = 0
|
||||
|
||||
def get_cert_path(self, achall):
|
||||
"""Returns standardized name for challenge certificate.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user