Skip to content

Repository files navigation

acme2certifier

GitHub release GitHub last commit (branch) GitHub last commit (branch) CII Best Practices

Codecov main Codecov devel

Security Rating Maintainability Rating Reliability Rating Quality Gate Status

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

Feature Support Enrollment (E) Revocation (R) EAB Profiling (P)
DigiCert® CertCentral
Dogtag Certificate System
Entrust ECS Enterprise
EJBCA
Generic ACME Handler (LetsEncrypt, ZeroSSL)
Generic CMPv2 Handler
Generic EST Handler
FreeIPA
Hashicorp Vault
Insta ActiveCMS
Microsoft Certificate Enrollment Web Services
Microsoft ICertPassage Remote Protocol (MS-ICPR)
NetGuard Certificate Lifecycle Manager
NetGuard Certificate Manager/Insta Certifier
OpenSSL
OpenXPKI
XCA

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

Supported challenge types:


📦 Installation

The fastest and most convenient way to install acme2certifier is Docker, then OS packages, then PyPI/pip:

  1. Docker — ready-made images on Docker Hub and ghcr.io; compose / build, install_docker.md (images install from the .deb)
  2. OS packagesDEB (/var/www/acme2certifier) or RPM (/opt/acme2certifier)
  3. PyPI / pip — library + venv deploy (Apache2 Ubuntu, Nginx Ubuntu, Nginx Alma/RHEL9)
  4. Local development — editable checkout + Django runserver: development.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

About

ACME Proxy enhancing your existing Certificate Authority Infrastructure

Topics

Resources

Contributing

Security policy

Stars

286 stars

Watchers

12 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages