Automatic Certificate Management Environment

Logo ACME

ACME (ang. Automatic Certificate Management Environment) – protokół komunikacyjny służący do automatyzacji interakcji pomiędzy urzędami certyfikacji, a serwerami ich użytkowników, umożliwiający automatyczne wdrażanie infrastruktury kluczy publicznych przy bardzo niskich kosztach. Protokół został zaprojektowany przez Internet Security Research Group (ISRG) dla swojej usługi Let’s Encrypt.

Protokół, oparty na przekazywaniu wiadomości w formacie JSON przez HTTPS, został opublikowany jako standard internetowy w RFC 8555.

Implementacje

ISRG opracowało wolne i otwarte implementacje ACME: certbot to oparte na Pythonie oprogramowanie do zarządzania certyfikatami serwera przy użyciu protokołu ACME, a boulder to napisana w Go implementacja urzędu certyfikacji.

Wersje API

ACME v1

Specyfikacja API v1 została opublikowana 12 kwietnia 2016 roku i obsługuje wydawanie certyfikatów dla w pełni kwalifikowanych nazw domen, takich jak example.com lub cluster.example.com, za to nie obsługuje certyfikatów wieloznacznch (ang. wildcard), takich jak *.example.com. Obsługa API V1 została wyłączona przez Let’s Encrypt 1 czerwca 2021 roku.

ACME v2

API v2 zostało opublikowane 13 marca 2018 roku i nie jest wstecznie kompatybilne z v1. Wersja 2 obsługuje domeny wieloznaczne dzięki czemu wiele subdomen np. https://cluster01.example.com, https://cluster02.example.com, https://example.com, może używać protokółu TLS w sieciach prywatnych, w ramach jednej domeny, przy użyciu jednego, wspólnego certyfikatu. Wystąpienie o taki certyfikat wymaga modyfikacji rekordu TXT domeny, co weryfikuje kontrolę nad domeną.

Przypisy

  1. 1 2 Steven Vaughan-Nichols, Securing the web once and for all: The Let’s Encrypt Project [online], ZDNet [dostęp 2022-03-22] (ang.).
  2. 1 2 Automatic Certificate Management Environment (ACME), IETF ACME Working Group, 20 lutego 2022 [dostęp 2022-03-22].
  3. ↑ EFF, Others Plan to Make Encrypting the Web Easier in 2015 [online], threatpost.com [dostęp 2022-03-22] (ang.).
  4. ↑ R. Barnes, J. Hoffman-Andrews, D. McCarney, J. Kasten, Automatic Certificate Management Environment (ACME), RFC 8555, IETF, marzec 2019, DOI: 10.17487/RFC8555, ISSN 2070-1721, OCLC 943595667 (ang.).
  5. ↑ Certbot [online], certbot-prod.eff.org [dostęp 2022-03-22].
  6. ↑ certbot/certbot, certbot, 22 marca 2022 [dostęp 2022-03-22].
  7. ↑ Announcing Certbot: EFF’s Client for Let’s Encrypt [LWN.net] [online], lwn.net [dostęp 2022-03-22].
  8. ↑ Boulder – An ACME CA, Let’s Encrypt, 22 marca 2022 [dostęp 2022-03-22].
  9. ↑ End of Life Plan for ACMEv1 [online], Let’s Encrypt Community Support, 1 czerwca 2021 [dostęp 2022-03-22] (ang.).
  10. ↑ ACME v2 API Endpoint Coming January 2018 – Let’s Encrypt [online], letsencrypt.org [dostęp 2022-03-22] (ang.).