Let's Encrypt en automatisering van het ACME-protocol
Automatiseer de uitgifte en vernieuwing van certificaten met het ACME-protocol, Certbot en andere clients.
Let's Encrypt en automatisering van het ACME-protocol is een gratis Cryptology Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cryptology Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cryptology Academy bevat in totaal 4 lessen.
Inleiding tot Let's Encrypt
Let's Encrypt is een gratis, geautomatiseerde en open certificaatautoriteit die wordt beheerd door de Internet Security Research Group (ISRG) en in december 2015 als publieke bèta werd gelanceerd. De organisatie heeft meer dan 3 miljard certificaten uitgegeven en de invoering van HTTPS op het web sterk versneld door de kosten en complexiteit van het verkrijgen van publiek vertrouwde TLS-certificaten weg te nemen.
Overzicht van het ACME-protocol
Het Automated Certificate Management Environment (ACME)-protocol, in 2019 gestandaardiseerd als RFC 8555, beschrijft hoe clients automatisch domeineigendom bewijzen en certificaten van certificaatautoriteiten ontvangen. ACME vervangt handmatige domeinvalidatie door een cryptografisch geverifieerde, geautomatiseerde uitwisseling, waardoor je de levenscyclus van certificaten volledig automatisch kunt beheren.
HTTP-01-uitdaging
De HTTP-01-uitdaging valideert domeineigendom door te vereisen dat de ACME-client een specifiek tokenbestand plaatst op "http://DOMAIN/.well-known/acme-challenge/TOKEN". De certificaatautoriteit haalt deze URL op om het token te verifiëren. HTTP-01 is eenvoudig te implementeren, maar vereist dat poort 80 toegankelijk is en kan niet worden gebruikt voor wildcardcertificaten.
DNS-01-uitdaging
De DNS-01-uitdaging valideert domeineigendom door te vereisen dat de ACME-client een DNS TXT-record aanmaakt op "_acme-challenge.DOMAIN" met een specifieke waarde. De certificaatautoriteit bevraagt DNS om het record te verifiëren. DNS-01 is het enige type uitdaging dat de uitgifte van wildcardcertificaten ondersteunt ("*.example.com") en werkt ook wanneer webservers achter firewalls staan.
TLS-ALPN-01-uitdaging
De TLS-ALPN-01-uitdaging valideert domeineigendom op de TLS-laag met behulp van een aangepaste ALPN-protocolidentifier "acme-tls/1". De ACME-client stelt tijdelijk een zelfondertekend certificaat beschikbaar met het uitdagingstoken in een speciale extensie op poort 443. Deze uitdaging werkt zonder actieve webserver en ondersteunt omgevingen met taakverdeling.
Referentieclient Certbot
Certbot is de referentie-ACME-client van de Electronic Frontier Foundation voor Let's Encrypt. De client automatiseert de volledige levenscyclus van certificaten: domeinvalidatie, uitgifte van certificaten en automatische vernieuwing. Certbot bevat plug-ins voor Apache en nginx die TLS-instellingen automatisch configureren. Installeer de client via "snap install --classic certbot" op moderne Linux-distributies.
Alternatieve ACME-clients
Naast Certbot bestaan er veel ACME-clients voor verschillende toepassingen. acme.sh is een puur shellscript en wordt veel gebruikt in lichtgewichtomgevingen. De Caddy-webserver heeft ingebouwde ACME-ondersteuning en vernieuwt certificaten automatisch. Traefik, dat in containeromgevingen wordt gebruikt, verwerkt ACME via zijn certificatesResolvers-configuratie voor gecontaineriseerde werklasten.
Automatisering van certificaatvernieuwing
Let's Encrypt-certificaten hebben bewust een geldigheidsduur van 90 dagen. Dit stimuleert automatisering en verkleint de periode waarin gecompromitteerde privésleutels kunnen worden misbruikt. Certbot installeert een systemd-timer of cron-taak die "certbot renew" twee keer per dag uitvoert en elk certificaat vernieuwt dat binnen 30 dagen verloopt. Handmatige vernieuwing is een antipatroon dat tot storingen leidt.
Limieten van Let's Encrypt
Let's Encrypt hanteert aanvraaglimieten om misbruik te voorkomen. De belangrijkste limieten zijn 50 certificaten per geregistreerd domein per week en 5 dubbele certificaten per week. Ook mislukte validatiepogingen zijn beperkt tot 5 per hostnaam per uur. Tijdens de ontwikkeling biedt de testomgeving van Let's Encrypt onbeperkte uitgifte van certificaten tegen een test-CA die niet publiek wordt vertrouwd.
Certificaten voor meerdere domeinen en wildcardcertificaten
Eén ACME-certificaat kan meerdere domeinen dekken (Subject Alternative Names). "certbot --domains example.com,www.example.com,api.example.com" geeft een certificaat uit met drie SAN's. Wildcardcertificaten ("*.example.com") vereisen DNS-01-validatie en dekken alle subdomeinen op één niveau. Wildcards dekken het hoofddomein zelf niet (example.com), waardoor een extra SAN nodig is.
ACME voor interne PKI
Het ACME-protocol is niet beperkt tot Let's Encrypt. Interne CA's zoals Step-CA (smallstep), EJBCA en HashiCorp Vault kunnen ACME-eindpunten beschikbaar stellen voor interne certificaatautomatisering. Hierdoor kan hetzelfde geautomatiseerde beheer van de levenscyclus van certificaten dat voor publiek toegankelijke diensten wordt gebruikt, ook worden toegepast op interne mTLS-infrastructuur en privédiensten.
Controle van ACME-uitdagingen
Welk type ACME-uitdaging is vereist om een wildcardcertificaat zoals "*.example.com" uit te geven?
Samenvatting: Let's Encrypt en ACME
Let's Encrypt levert gratis certificaten via het ACME-protocol (RFC 8555). HTTP-01-uitdagingen werken voor niet-wildcardcertificaten op poort 80. Met DNS-01 kun je wildcardcertificaten uitgeven door controle over de DNS-zone te bewijzen. TLS-ALPN-01 werkt zonder webserver. Certbot en acme.sh automatiseren de volledige levenscyclus. Certificaten van 90 dagen vereisen automatisering. Aanvraaglimieten maken het noodzakelijk om tijdens tests de testomgeving te gebruiken.
Leer Cryptology Academy met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 67
- Lessen
- 261
Veelgestelde vragen
Is de les “Let's Encrypt en automatisering van het ACME-protocol” gratis?
Ja — de volledige tekst van “Let's Encrypt en automatisering van het ACME-protocol” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cryptology Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cryptology Academy bevat in totaal 4 lessen.
Wat leer ik in “Let's Encrypt en automatisering van het ACME-protocol”?
Automatiseer de uitgifte en vernieuwing van certificaten met het ACME-protocol, Certbot en andere clients. Je oefent met Cryptology Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Cryptology Academy te beginnen?
Ervaring vooraf is niet nodig. Cryptology Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Let's Encrypt en automatisering van het ACME-protocol”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Cryptology Academy?
Ja. Elke les over Cryptology Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Essentiële OpenSSL-opdrachtregelopdrachten
- Certificaatketens maken en beheren
- OCSP-stapling en Certificate Transparency
- Let's Encrypt en automatisering van het ACME-protocol