mirror of https://github.com/moepman/acertmgr.git
35 lines
1.2 KiB
Python
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
|