Žiadosť o certifikát cez ACME a DNS v aplikácii SSLmarket
Aplikácia SSLmarket vám uľahčí život pri používaní alebo testovaní DNS. Tento návod sa venuje manuálnej žiadosti o certifikát, ktorá sa overuje cez DNS-01 a zmene DNS záznamov cez API. Dozviete sa, ako princíp funguje a ako ho použiť u podporovaných registrátorov.
Čo je protokol ACME
ACME (Automatic Certificate Management Environment) je otvorený protokol, ktorý automatizuje vydávanie a obnovu TLS certifikátov. Je štandardizovaný v RFC 8555. Pôvodne vznikol pre certifikačnú autoritu Let's Encrypt, dnes ho podporujú aj komerčné autority vrátane DigiCertu. Na serveri beží ACME klient, ktorý sa u certifikačnej autority zaregistruje. U komerčných CA sa k tomu obvykle používajú ACME credentials (External Account Binding), ktoré prepoja klienta so zákazníckym účtom. Klient potom podá žiadosť o certifikát a autorita ho vyzve, aby preukázal kontrolu nad doménou. Po úspešnom overení autorita certifikát vydá, klient ho stiahne a nainštaluje. Pred vypršaním platnosti celý proces sám zopakuje, takže certifikát sa obnovuje bez zásahu správcu.
Overenie domény metódou DNS-01
Jednou z metód overenia domény je DNS-01. Certifikačná autorita odovzdá ACME klientovi token. Klient z neho odvodí hodnotu a vloží ju do TXT záznamu _acme-challenge u overovanej domény. Autorita potom záznam v DNS dohľadá, a ak hodnota zodpovedá, je doména overená. Výhodou DNS-01 je, že server nemusí byť dostupný z internetu ani mať otvorený port 80. Metóda tiež umožňuje vydať wildcard certifikát (*.domena.sk). Ak váš poskytovateľ DNS ponúka API pre správu záznamov, ACME klient vie TXT záznam vytvoriť aj po overení odstrániť sám, takže celý proces vrátane obnovy je plne automatický. Pre tento účel odporúčame API kľúč s čo najužšími oprávneniami, ideálne obmedzený len na správu DNS záznamov danej domény.
Integrácia ACME v aplikácii SSLmarket
Aplikácia SSLmarket pre Windows umožňuje okrem vytvorenia a správy ACME credentials tiež manuálne vydať certifikát cez ACME a DNS-01 overenie.
Manuálna žiadosť o certifikát je možná vďaka nastaveniu DNS záznamov cez API k overovanej doméne, čo umožňuje oddeliť žiadateľa o certifikát od domény samotnej. Pri overení pomocou súboru vystaveného na web (HTTP-01) toto možné nie je. Požiadavka na vydanie certifikátu dorazí k CA, tá vráti jednorazové tajomstvo pre challenge a kontroluje jeho prítomnosť v DNS zóne overovanej domény. Ak tam záznam nájde, tak dokončí aj žiadosť o certifikát cez ACME a vydá ho. ACME klient (v tomto prípade aplikácia SSLmarket) potom certifikát uloží do vášho počítača (Windows certificate store či PFX).
Táto možnosť vydania môže byť užitočná, ak potrebujete certifikát vydať pre server, ktorý nie je pripojený do internetu alebo chcete jednoducho PFX. Hodí sa aj na testovanie.
Podporované služby s DNS API
V prvej verzii s podporou ACME (1.5.0) máte v aplikácii na výber tri služby pre správu DNS záznamov cez API:
- SlovakNET.sk (Zoner)
- Google Cloud DNS
- Cloudflare
Overovaná doména musí mať nameservery týchto poskytovateľov (DNS zóna je hostovaná u nich) a musíte mať API kľúč umožňujúci manipuláciu so záznamami. Ďalších poskytovateľov budeme pridávať v budúcnosti, ak ich bude projekt podporovať a bude to technicky možné.
Ako funguje ACME v aplikácii SSLmarket
ACME je v aplikácii SSLmarket integrované pomocou projektu simple-acme. Ten vie robiť DNS-01 overenie pomocou pluginov, ktoré integrujú API tretích strán. Aplikácia SSLmarket prevezme potrebné parametre a odovzdá ich simple-acme klientovi bežiacemu na pozadí. Pre užívateľa je to uľahčenie a pre autorov aplikácie možnosť jednoducho použiť už hotové integrácie DNS API.
V detaili konkrétneho ACME credentialu môžete priamo žiadať o certifikát. Vyplníte názov domény, ktorá sa musí overiť cez DNS, vyberiete providera DNS záznamov a nastavíte uloženie vydaného certifikátu (Windows certificate store, PFX). Ak je vložený funkčný API kľúč na službu tretej strany a je funkčný, tak bude požiadavka po overení DCV dokončená, certifikát vydaný a uložený podľa nastavenia žiadosti.
Stav žiadosti vidíte v logu pred sebou, prípadné ťažkosti tak môžete ľahko riešiť analýzou logu alebo jeho zaslaním zákazníckej podpore SSLmarketu.
Certifikáty vydané cez ACME sa druhý deň objavia aj na vašom účte SSLmarket a nasledujúci mesiac budú fakturované podľa platného cenníka zákazníckeho účtu.
Ďalšie zdroje a dokumentácia
Aplikácia SSLmarket pre vydanie certifikátu cez ACME integruje a používa projekt simple-acme, vrátane DNS pluginov integrujúcich služby tretích strán. Pre referenciu k použitiu DNS API jednotlivých poskytovateľov pozri stránku DNS validation. Každý poskytovateľ má inú autentizáciu a iné nastavenie, naša aplikácia ich preberá v nastavení (frontend) a odovzdáva simple-acme na pozadí.
Mrzí nás, že ste tu nenašli potrebné.
Pomôžete nám článok vylepšiť? Napíš nám, čo ste tu očakávali a nedozvedeli sa.