{"copy":"Kopieren","expand":"Einblenden","collapse":"Ausblenden","copy_success":"Kopiert!","copy_error":"Kopieren fehlgeschlagen!"}

Zertifikatsantrag über ACME und DNS in der SSLmarket-Anwendung

Die SSLmarket-Anwendung erleichtert Ihnen das Leben bei der Verwendung oder dem Testen von DNS. Diese Anleitung beschäftigt sich mit der manuellen Anforderung eines Zertifikats, das über DNS-01 verifiziert wird, und der Änderung von DNS-Einträgen über die API. Sie erfahren, wie das Prinzip funktioniert und wie Sie es bei unterstützten Registraren einsetzen können.

Was ist das ACME-Protokoll

ACME (Automatic Certificate Management Environment) ist ein offenes Protokoll, das die Ausstellung und Erneuerung von TLS-Zertifikaten automatisiert. Es ist in RFC 8555 standardisiert. Ursprünglich wurde es für die Zertifizierungsstelle Let's Encrypt entwickelt, aber heute wird es auch von kommerziellen Zertifizierungsstellen, einschließlich DigiCert, unterstützt. Auf dem Server läuft ein ACME-Client, der sich bei der Zertifizierungsstelle registriert. Bei kommerziellen CAs werden dafür in der Regel ACME-Anmeldedaten (External Account Binding) verwendet, die den Client mit dem Kundenkonto verknüpfen. Der Client reicht dann einen Antrag auf ein Zertifikat ein und die Zertifizierungsstelle fordert ihn auf, die Kontrolle über die Domain nachzuweisen. Nach erfolgreicher Verifizierung stellt die Zertifizierungsstelle das Zertifikat aus, der Client lädt es herunter und installiert es. Vor Ablauf des Zertifikats wiederholt der Client den gesamten Prozess automatisch, sodass das Zertifikat ohne Eingriffe des Administrators erneuert wird.

Domain-Verifizierung mit der Methode DNS-01

Eine der Methoden zur Domain-Verifizierung ist DNS-01. Die Zertifizierungsstelle übergibt dem ACME-Client einen Token. Der Client leitet daraus einen Wert ab und fügt ihn als TXT-Eintrag in die zu verifizierende Domain ein: _acme-challenge. Die Zertifizierungsstelle sucht dann den Eintrag im DNS, und wenn der Wert übereinstimmt, ist die Domain verifiziert. Ein Vorteil von DNS-01 ist, dass der Server nicht über das Internet zugänglich sein oder Port 80 geöffnet haben muss. Die Methode erlaubt es auch, ein Wildcard-Zertifikat (*.domain.com) auszustellen. Wenn Ihr DNS-Anbieter eine API zur Verwaltung von Einträgen anbietet, kann der ACME-Client den TXT-Eintrag selbstständig erstellen und nach der Verifizierung auch löschen, sodass der gesamte Prozess einschließlich der Erneuerung vollständig automatisiert abläuft. Für diesen Zweck empfehlen wir einen API-Schlüssel mit möglichst eingeschränkten Berechtigungen, idealerweise nur für die Verwaltung von DNS-Einträgen der betreffenden Domain.

Integration von ACME in der SSLmarket-Anwendung

Die SSLmarket-Anwendung für Windows ermöglicht neben der Erstellung und Verwaltung von ACME-Anmeldedaten auch die manuelle Ausstellung eines Zertifikats über ACME und die DNS-01-Verifizierung.

Eine manuelle Anforderung eines Zertifikats ist möglich durch das Setzen von DNS-Einträgen über die API zur verifizierten Domain, was es ermöglicht, den Zertifikatsantragsteller von der Domain selbst zu trennen. Bei einer Verifizierung durch eine auf einer Website bereitgestellte Datei (HTTP-01) ist dies nicht möglich. Der Antrag auf Ausstellung eines Zertifikats erreicht die CA, diese gibt ein einmaliges Geheimnis für die Herausforderung zurück und überwacht dessen Vorhandensein in der DNS-Zone der verifizierten Domain. Wird der Eintrag dort gefunden, wird auch der Antrag auf ein Zertifikat über ACME abgeschlossen und dieses ausgestellt. Der ACME-Client (in diesem Fall die SSLmarket-Anwendung) speichert das Zertifikat dann auf Ihrem Computer (Windows-Zertifikatspeicher oder PFX).

Diese Ausstellungsmöglichkeit kann nützlich sein, wenn Sie ein Zertifikat für einen Server ausstellen müssen, der nicht mit dem Internet verbunden ist, oder einfach ein PFX benötigen. Es eignet sich auch zum Testen.

Unterstützte Dienste mit DNS-API

In der ersten Version mit ACME-Unterstützung (1.5.0) haben Sie in der Anwendung drei Dienste zur Auswahl für die Verwaltung von DNS-Einträgen über die API:

  • CZECHIA.COM (Zoner)
  • Google Cloud DNS
  • Cloudflare

Die verifizierte Domain muss Nameserver dieser Anbieter verwenden (die DNS-Zone wird bei ihnen gehostet) und Sie müssen einen API-Schlüssel haben, der die Manipulation mit Einträgen erlaubt. Weitere Anbieter werden wir in Zukunft hinzufügen, wenn das Projekt sie unterstützt und dies technisch möglich ist.

Wie funktioniert ACME in der SSLmarket-Anwendung

ACME ist in der SSLmarket-Anwendung durch das Projekt simple-acme integriert, das DNS-01-Verifizierungen mit Plugins durchführen kann, die API von Drittanbietern integrieren. Die SSLmarket-Anwendung übernimmt die erforderlichen Parameter und übergibt sie an den simple-acme-Client, der im Hintergrund läuft. Für den Benutzer ist dies eine Erleichterung und für die Autoren der Anwendung die Möglichkeit, bereits fertige Integrationen der DNS-API einfach zu nutzen.

Im Detail eines bestimmten ACME-Anmeldeinstruments können Sie direkt ein Zertifikat anfordern. Sie geben den Namen der Domain ein, die über DNS verifiziert werden muss, wählen den Anbieter der DNS-Einträge aus und legen die Speicherung des ausgestellten Zertifikats fest (Windows-Zertifikatspeicher, PFX). Wenn ein funktionierender API-Schlüssel für den Dienst eines Drittanbieters eingegeben und funktionsfähig ist, wird der Antrag nach Abschluss der DCV verifiziert, das Zertifikat ausgestellt und gemäß der Anforderung gespeichert.

Manuelle Ausstellung eines Zertifikats über das ACME-Protokoll und DNS DCV
Manuelle Ausstellung eines Zertifikats über das ACME-Protokoll und DNS DCV

Sie sehen den Status der Anfrage im Log vor sich, sodass Sie eventuelle Probleme leicht durch Analyse des Logs oder durch dessen Zusendung an den SSLmarket-Kundensupport lösen können.

Zertifikate, die über ACME ausgestellt werden, erscheinen am nächsten Tag auch in Ihrem SSLmarket-Konto und werden im folgenden Monat gemäß dem gültigen Kundenpreisverzeichnis fakturiert.

Weitere Ressourcen und Dokumentation

Die SSLmarket-Anwendung für die Ausstellung von Zertifikaten über ACME integriert und nutzt das Projekt simple-acme, einschließlich DNS-Plugins, die Dienste von Drittanbietern integrieren. Für Referenzen zur Verwendung der DNS-API der einzelnen Anbieter empfehle ich die Seite DNS validation. Jeder Anbieter hat eine andere Authentifizierung und andere Einstellungen, unsere Anwendung übernimmt diese in den Einstellungen (Frontend) und übergibt sie im Hintergrund an simple-acme.

War für Sie dieser Artikel nützlich?