acmeasync package

Submodules

acmeasync.acmele module

class acmeasync.acmele.ACMELE(directory_uri: str)[source]

Bases: object

ACME Client

property account_key_thumbprint
async begin()None[source]

Get the directory and first nonce.

async createAccount(email: str, termsOfServiceAgreed: bool)bool[source]

Create a new account. Only call this if loadAccount fails.

async createOrder(domains: Iterable[str])acmeasync.acmele.Order[source]

Create a new order for domains.

async loadAccount(filename: str)bool[source]

Load account key from file and get Key ID URL.

async saveAccount(filename: str)bool[source]

Save account key to filename.

class acmeasync.acmele.Authorization(acme: acmeasync.acmele.ACMELE, location: str, data: Dict[str, Any])[source]

Bases: acmeasync.util.Statusable, acmeasync.util.Representable

ACME Authorization

async challenges(challType: Optional[str] = None) → List[acmeasync.acmele.Challenge][source]
data: Dict[str, Any]
class acmeasync.acmele.Challenge(acme: acmeasync.acmele.ACMELE, location: str, data: Dict[str, Any])[source]

Bases: acmeasync.util.Statusable, acmeasync.util.Representable

ACME Challenge

async begin()acmeasync.acmele.Challenge[source]
data: Dict[str, Any]
class acmeasync.acmele.Order(acme: acmeasync.acmele.ACMELE, location: str, data: Dict[str, Any])[source]

Bases: acmeasync.util.Statusable, acmeasync.util.Representable

ACME Order

async authorizations() → List[acmeasync.acmele.Authorization][source]
data: Dict[str, Any]
async finalize(csr_bytes: bytes)acmeasync.acmele.Order[source]
async get_cert()str[source]

acmeasync.certbot2 module

class acmeasync.certbot2.CertBot2[source]

Bases: object

PATH_ACCOUNT_KEY = PosixPath('account.jwk')
PATH_CERTS = PosixPath('certs')
async begin()None[source]
challenges: Dict[str, str]
async createAccount(email: str, terms_of_service_agreed: bool)None[source]
async getCrt(*domains: str) → OpenSSL.crypto.X509[source]
async hasKeyAndCert(*domains: str)bool[source]
async http01ChallengeHandler(req: aiohttp.web_request.Request) → aiohttp.web_response.Response[source]
async loadAccount()bool[source]
async orderCert(*domains: str)None[source]
async renewTask(*domains: str)None[source]

acmeasync.proxyserver module

class acmeasync.proxyserver.ProxyServer(local_port: int, remote_host: str, remote_port: int, *domains: str)[source]

Bases: object

run() → _asyncio.Task[source]
async acmeasync.proxyserver.open_accepted_socket(sock: socket.socket, ssl: Optional[ssl.SSLContext] = None) → Tuple[asyncio.streams.StreamReader, asyncio.streams.StreamWriter][source]
async acmeasync.proxyserver.pipe(reader: asyncio.streams.StreamReader, writer: asyncio.streams.StreamWriter)None[source]

Module contents