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

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

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)
  • wdfcert.sh (Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus root domain support for single-TXT-record DNS providers)

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

HAProxy

Java

Kubernetes

Lua

Microsoft Azure

nginx

Node.js

OpenShift

Perl

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

PHP

Python

  • ACME Tiny
  • simp_le
  • acmebot
  • sewer
  • acme-dns-tiny (Python 3)
  • Automatoes ACME V2 ManuaLE replacement with new features
  • acertmgr
  • acme-cert-tool
  • serverPKI PKI for internet server infrastructure, supporting distribution of certs, FreeBSD jails, DNS DANE support
  • acmetk acmetk is an ACMEv2 proxy to centralize certificate requests and challenges within an organisation and direct them using a single account to Let’s Encrypt or other ACMEv2 capable CA’s.

Ruby

Rust

Windows / IIS

Server

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

Библиотеки

4D

C++

D

Delphi

Go

Java

.NET

Node.js

Perl

  • acme (Simple json config, autogen keys, issue cert, refresh cert, apache/nginx integration)
  • Crypt::LE
  • Net::ACME2
  • wdfcert.sh (Only supports DNS-01 challenges and ECDSA-384 bit keys for both accounts and certificates, native Joker DNS support including wildcard plus root domain support for single-TXT-record DNS providers)

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.