acme2certifier



acme2certifier is a development project aimed at creating an ACME protocol proxy. Its primary goal is to enable ACME services for CA servers that do not natively support this protocol.
The project consists of two main libraries:
acme_srv/*.py – Implements ACME server functionality based on RFC 8555.
ca_handler.py – Provides an interface to CA servers, designed to be modular for easy adaptation to various CA systems.
The currently available handlers are listed below:
Supported CA Handlers
For the latest updates and additional documentation, visit the project’s homepage:
acme2certifier on GitHub
📌 ChangeLog
Release notes and changelogs are available at:
GitHub Releases
🛠 ACME Client Compatibility
The following ACME clients are regularly tested for compatibility:
Other clients are on the list for future testing.
If you test additional ACME clients, feel free to raise an issue if something does not work as expected.
List of command-line parameters used for testing
🚀 Features
- ACME v2 RFC 8555 compliant server implementation, including:
Supported challenge types:
📦 Installation
The fastest and most convenient way to install acme2certifier is Docker, then OS packages, then PyPI/pip:
- Docker — ready-made images on Docker Hub and ghcr.io; compose / build, install_docker.md (images install from the
.deb)
- OS packages — DEB (
/var/www/acme2certifier) or RPM (/opt/acme2certifier)
- PyPI / pip — library + venv deploy (Apache2 Ubuntu, Nginx Ubuntu, Nginx Alma/RHEL9)
- Local development — editable checkout + Django
runserver: development.md
Lab-only security-disable acknowledgement (ACME2CERTIFIER_I_KNOW_THE_RISK): security_gate.md.
Releases publish .deb, .rpm, and PyPI (Trusted Publisher).
Software Bill Of Material
SBOMs for all containers will be automatically created during build process and stored in my SBOM repository
Contributing
Please read CONTRIBUTING.md for details on my code of conduct, and the process for submitting pull requests. Please note that I have a life besides programming. Thus, expect a delay in answering.
Versioning
I use SemVer for versioning. For the versions available, see the tags on this repository.
License
This project is licensed under the GPLv3 - see the LICENSE file for details
评论