acertmgr/acertmgr/authority/acme.py

35 lines
1.2 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# acertmgr - generic acme api functions
# Copyright (c) Markus Hauschild & David Klaftenegger, 2016.
# Copyright (c) Rudolf Mayerhofer, 2019.
# available under the ISC license, see LICENSE
class ACMEAuthority:
# @brief Init class with config
# @param config Configuration data
# @param key Account key data
def __init__(self, config, key):
self.key = key
self.config = config
# @brief register an account over ACME
def register_account(self):
raise NotImplementedError
# @brief function to fetch certificate using ACME
# @param csr the certificate signing request in pyopenssl format
# @param domains list of domains in the certificate, first is CN
# @param challenge_handlers a dict containing challenge for all given domains
# @return the certificate
def get_crt_from_csr(self, csr, domains, challenge_handlers):
raise NotImplementedError
# @brief function to revoke a certificate using ACME
# @param crt certificate to revoke
# @param reason (int) optional certificate revoke reason (see https://tools.ietf.org/html/rfc5280#section-5.3.1)
def revoke_crt(self, crt, reason=None):
raise NotImplementedError