Реализации ACME-клиента

Last updated: January 22, 2025
Вся документация

Последнее обновление: | Вся документация

Let’s Encrypt использует ACME-протокол для подтверждения ваших прав на данное доменное имя, а также для выпуска сертификата для него. Чтобы получить сертификат Let’s Encrypt, вам необходимо использовать ACME-клиент.

Представленные ниже ACME-клиенты разрабатываются сторонними организациями. Let’s Encrypt не управляет их разработкой, не проверяет их код и не предоставляет гарантий их безопасности и надёжности.

Существуют ACME-клиенты в виде расширений для браузеров, но мы не приводим их здесь по причине необходимости ручного обновления сертификатов.

Рекомендуемый клиент: Certbot

Для большинства пользователей мы рекомендуем начать с ACME-клиента Certbot. С ним очень просто получить сертификат, или установить имеющийся, в зависимости от ваших задач. Он прост в использовании, работает на большинстве операционных систем, и отлично документирован.

Если Certbot не то что вам нужно или вы просто хотите попробовать что-то ещё, ниже можно выбрать гораздо больше клиентов, сгруппированных по языку или среде, в которой они работают.

ACMEv1 и ACMEv2

Все следующие ниже клиенты поддерживают ACMEv2 API (RFK 8555). В июне 2021 года мы прекратили поддержку ACMEv1. Если вы уже используете один из клиентов ниже, убедитесь, что вы обновились до последней версии. Если используемый вами клиент не указан ниже, возможно он не поддерживает ACMEv2, в этом случае мы рекомендуем связаться с сопровождающими проекта или перейти на другой клиент.

Bash

  • GetSSL (bash, also automates certs on remote hosts via ssh)
  • acme.sh (Compatible to bash, dash and sh)
  • dehydrated (Compatible to bash and zsh)
  • ght-acme.sh (batch update of http-01 and dns-01 challenges is available)
  • bacme (simple yet complete scripting of certificate generation)

C

C++

Clojure

Configuration management tools

D

Domino

  • CertMatica (ACME certificate installation and renewals for HCL Domino™ servers)
  • HCL Domino (Full ACME V2 flow integration for HCL Domino™ servers)

Docker

Go

Java

Kubernetes

Lua

Microsoft Azure

nginx

  • njs-acme JavaScript library compatible with the ’ngx_http_js_module’ runtime (NJS), allows for the automatic issue of TLS/SSL certificates for NGINX without restarts
  • Angie ACME module built-in module for Angie server, no extra dependencies, simple configuration, reload-less auto retrieval
  • ngx_http_acme_module built-in ACME module from upstream nginx developers
  • acme-nginx
  • docker-openresty An Openresty image with auto ssl, using acme.sh
  • docker-nginx An Nginx image with auto ssl, using acme.sh
  • lua-resty-acme

Node.js

  • acme-bot
  • Server-SSL.js (Easy to configure SSL Web Server for development or production)
  • Auto Encrypt Automatically provisions and renews TLS certificates from Let’s Encrypt on Node.js https servers

OpenShift

Perl

  • acme (Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
  • Crypt::LE

PHP

Python

Ruby

Rust

Windows / IIS

Server

  • Certera (Crossplatform PKI to centrally manage keys and certificates)

Библиотеки

4D

C++

D

Delphi

Go

Java

.NET

Node.js

Perl

PHP

Python

  • Модуль Python acme является частью Certbot, но также используется рядом других клиентов и доступен как отдельный пакет в PyPI, Debian, Ubuntu, Fedora и других дистрибутивах.
  • txacme (Twisted client for Python 2 / 3)

Ruby

Rust

  • instant-acme is an async, pure-Rust ACME (RFC 8555) client which relies on Tokio
  • rustls-acme provides TLS certificate management and serving using rustls
  • tokio-rustls-acme is an easy-to-use, async ACME client library for rustls

Проекты интеграции с Let's Encrypt

Добавление клиента/проекта

Если вы знаете клиент ACME или проект, интегрированный с ACMEv2 API Let’s Encrypt, отсутствующий на приведенной выше странице, пожалуйста, отправьте пул-реквест в наш репозиторий веб-сайта на GitHub, обновление в файл data/clients.json.

Перед отправкой пул-реквеста, пожалуйста, убедитесь, что:

  1. Клиент соблюдает Политику использования товарных знаков Let’s Encrypt.
  2. Клиент не основан на браузере и поддерживает автоматическое обновление сертификатов.
  3. Клиент выполняет регулярное обновление в случайное время или поощряет такую ​​настройку.
  4. Ваш коммит добавляет новый клиент в конец соответствующего раздела (не забудьте про раздел “acme_v2”, если необходимо!).
  5. В вашем коммите вы обновили дату в поле lastmod, в начале файла data/clients.json.