NAME

Net::ACME2::Challenge::http_01

SYNOPSIS

    #e.g., “/.well-known/acme-challenge/12341243sdafdewrsvfd”
    my $path = $challenge->path();

    {
        my $handler = $challenge->create_handler( ... );

        $acme->accept_challenge($challenge);

        sleep 1 while !$acme->poll_authorization();
    }

DESCRIPTION

This module is instantiated by Net::ACME2::Authorization and is a subclass of Net::ACME2::Challenge.

METHODS

OBJ->create_handler( $ACME_OR_AUTHZ, $DOCROOT )

Creates a file in the given DOCROOT that will, if served up normally, satisfy ACME’s requirements for this challenge. The return value is an object that, when DESTROYed, will remove that file.

$ACME_OR_AUTHZ is normally a Net::ACME2 instance that will be used to compute OBJ’s key authorization. If you already have this authorization (i.e., via OBJ’s make_key_authorization() method) you may submit that instead. (Only that key authorization was accepted prior to version 0.28 of this distribution.)

This can simplify the authorization process if you’re on the same server as all of the authorization object’s identifiers’ HTTP document roots.

OBJ->get_path()

Returns the path component of the URL that should serve up the relevant content. This is useful if, for whatever reason, you’re not using create_handler() to satisfy this challenge.

Example:

    /.well-known/acme-challenge/LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowyjxAjEuX0

OBJ->get_content( $ACME )

Accepts a Net::ACME2 instance and returns the content that the URL should serve.

Example:

    q1hcOY6mDLNh7jummITkoQ1PHBpaxwNwyERZEqbADqI._jDy0skz-fuLE9OyLfS2UBa9z9QtS_MZGWq3x2nMx34