'Perform the configuration related challenge.
This function currently assumes all challenges will be fulfilled.
If this turns out not to be the case in the future. Cleanup and
outstanding challenges will have to be designed better.'

def perform(self, achalls):

    self._chall_out += len(achalls)
    responses = ([None] * len(achalls))
    chall_doer = tls_sni_01.NginxTlsSni01(self)
    for (i, achall) in enumerate(achalls):
        chall_doer.add_chall(achall, i)
    sni_response = chall_doer.perform()
    self.restart()
    for (i, resp) in enumerate(sni_response):
        responses[chall_doer.indices[i]] = resp
    return responses
