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

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

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

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

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

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

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

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

ACMEv1 и ACMEv2

Let’s Encrypt поддерживает ACMEv2 API, совместимый с финальной версией стандарта ACME. Мы планируем постепенно отказываться от устаревшего ACMEv1 API в 2020-2021 г. Все реализации ACME-клиента в данном списке поддерживают ACMEv2. Если вы уже пользуетесь каким-либо клиентом из списка - убедитесь, что версия ПО актуальна. Если же ваш ACME-клиент отсутсвует в списке - свяжитесь с его разработчиками, или смените ACME-клиент.

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 roor 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 roor domain support for single-TXT-record DNS providers)

PHP

Python

  • Python-модуль acme является частью ACME-клиента Certbot, но также используется в другом клиентском ПО, и доступен в виде отдельного модуля PyPI, Debian, Ubuntu, Fedora и других дистрибутивов.

Ruby

Rust

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

Чтобы добавить новый ACME-клиент или проект

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

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

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