Žádost o certifikát přes ACME a DNS v SSLmarket aplikaci
SSLmarket aplikace vám ulehčí život pro používání či testování DNS. Tento návod se věnuje manuální žádosti o certifikát, která se ověřuje přes DNS-01 a změnu DNS záznamů přes API. Dozvíte se, jak princip funguje a jak ho použít u podporovaných registrátorů.
Co je protokol ACME
ACME (Automatic Certificate Management Environment) je otevřený protokol, který automatizuje vydávání a obnovu TLS certifikátů. Je standardizovaný v RFC 8555. Původně vznikl pro certifikační autoritu Let's Encrypt, dnes ho podporují i komerční autority včetně DigiCertu. Na serveru běží ACME klient, který se u certifikační autority zaregistruje. U komerčních CA se k tomu obvykle používají ACME credentials (External Account Binding), které propojí klienta se zákaznickým účtem. Klient pak podá žádost o certifikát a autorita ho vyzve, aby prokázal kontrolu nad doménou. Po úspěšném ověření autorita certifikát vydá, klient ho stáhne a nainstaluje. Před vypršením platnosti celý proces sám zopakuje, takže certifikát se obnovuje bez zásahu správce.
Ověření domény metodou DNS-01
Jednou z metod ověření domény je DNS-01. Certifikační autorita předá ACME klientovi token. Klient z něj odvodí hodnotu a vloží ji do TXT záznamu _acme-challenge u ověřované domény. Autorita poté záznam v DNS dohledá, a pokud hodnota odpovídá, je doména ověřena. Výhodou DNS-01 je, že server nemusí být dostupný z internetu ani mít otevřený port 80. Metoda také umožňuje vydat wildcard certifikát (*.domena.cz). Pokud váš poskytovatel DNS nabízí API pro správu záznamů, ACME klient umí TXT záznam vytvořit i po ověření smazat sám, takže celý proces včetně obnovy je plně automatický. Pro tento účel doporučujeme API klíč s co nejužšími oprávněními, ideálně omezený jen na správu DNS záznamů dané domény.
Integrace ACME v aplikaci SSLmarket
SSLmarket aplikace pro Windows umožňuje kromě vytvoření a správy ACME credentials také manuálně vydat certifikát přes ACME a DNS-01 ověření.
Manuální žádost o certifikát je možná díky nastavení DNS záznamů přes API k ověřované doméně, což umožňuje oddělit žadatele o certifikát od domény samotné. U ověření pomocí souboru vystaveného na web (HTTP-01) toto možné není. Požadavek na vydání certifikátu dorazí k CA, ta vrátí jednorázové tajemství pro challenge a kontroluje jeho přítomnost v DNS zóně ověřované domény. Pokud tam záznam najde, tak dokončí i žádost o certifikát přes ACME a vydá ho. ACME klient (v tomto případě aplikace SSLmarket) pak certifikát uloží do vašeho počítače (Windows certificate store či PFX).
Tato možnost vydání může být užitečná, pokud potřebujete certifikát vydat pro server, který není připojený do internetu nebo chcete jednoduše PFX. Hodí se také pro testování.
Podporované služby s DNS API
V první verzi s podporou ACME (1.5.0) máte v aplikaci na výběr tři služby pro správu DNS záznamů přes API:
- CZECHIA.COM (Zoner)
- Google Cloud DNS
- Cloudflare
Ověřovaná doména musí mít nameservery těchto poskytovatelů (DNS zóna je hostovaná u nich) a musíte mít API klíč umožňující manipulaci se záznamy. Další poskytovatele budeme přidávat v budoucnu, pokud je bude projekt podporovat a bude to technicky možné.
Jak funguje ACME v aplikaci SSLmarket
ACME je v aplikaci SSLmarket integrované pomocí projektu simple-acme. Ten umí dělat DNS-01 ověření pomocí pluginů, které integrují API třetích stran. Aplikace SSLmarket převezme potřebné parametry a předá je simple-acme klientovi běžícímu na pozadí. Pro uživatele je to ulehčení a pro autory aplikace možnost snadno použít již hotové integrace DNS API.
V detailu konkrétního ACME credentialu můžete přímo žádat o certifikát. Vyplníte název domény, která se musí ověřit přes DNS, vyberete providera DNS záznamů a nastavíte uložení vydaného certifikátu (Windows certificate store, PFX). Pokud je vložen funkční API klíč na službu třetí strany a je funkční, tak bude požadavek po ověření DCV dokončen, certifikát vydán a uložen dle nastavení žádosti.
Stav žádosti vidíte v logu před sebou, případné potíže tak můžete snadno řešit analýzou logu nebo jeho posláním zákaznické podpoře SSLmarketu.
Certifikáty vydané přes ACME se druhý den objeví i na vašem účtu SSLmarket a následující měsíc budou fakturovány dle platného ceníku zákaznického účtu.
Další zdroje a dokumentace
Aplikace SSLmarket pro vydání certifikátu přes ACME integruje a používá projekt simple-acme, včetně DNS pluginů integrujících služby třetích stran. Pro referenci k použití DNS API jednotlivých poskytovatelů viz stránku DNS validation. Každý poskytovatel má jinou autentizaci a jiné nastavení, naše aplikace je přejímá v nastavení (frontend) a předává simple-acme na pozadí.
Mrzí nás, že jste zde nenašli potřebné.
Pomůžete nám článek vylepšit? Napiště nám, co jste zde očekávali a nedozvěděli se.