SSL.com-Kunden können jetzt das beliebte ACME-Protokoll verwenden, um SSL / anzufordern und zu widerrufen.TLS Zertifikate.
ACME (Automated Certificate Management Environment) ist ein Standardprotokoll für die automatisierte Domänenvalidierung und Installation von X.509-Zertifikaten, dokumentiert in IETF-RFC 8555. Als gut dokumentierter Standard mit vielen Open Source Client-Implementierungen, ACME bietet eine schmerzlose Möglichkeit, Websites bereitzustellen oder IoT-Geräte B. Modems und Router mit öffentlich oder privat vertrauenswürdigen digitalen Zertifikaten, und halten Sie diese Zertifikate im Laufe der Zeit auf dem neuesten Stand.
Diese Anleitung zeigt Ihnen, wie Sie:
- Suchen Sie die Anmeldeinformationen, die Sie zum Anfordern von Zertifikaten bei ACME benötigen, und rufen Sie sie ab.
- Verwenden Sie Certbot, um SSL / manuell anzufordernTLS Zertifikate über die HTTP-01 und DNS-01 Herausforderungsmethoden.
- Zertifikate mit Certbot widerrufen.
Sie können viele andere ACME-Clients verwenden, einschließlich Kubernetes Cert-Manager, mit dem ACME-Dienst von SSL.com.
acme4j Der Client kann jetzt die ACME-Dienste von SSL.com für dieses Repository verwenden: https://github.com/SSLcom/acme4j
Anweisungen für andere ACME-Clients, die nicht von Certbot stammen, finden Sie in der Dokumentation Ihres Softwareanbieters.
Installieren Sie Certbot
In diesem Handbuch wird davon ausgegangen, dass Sie an einem Computer arbeiten Certbot Eingerichtet. Certbot ist ein kostenloses Open-Source-Tool, das von der Electronic Frontier Foundation (EFF) entwickelt wurde und mit dem Sie SSL / anfordern oder widerrufen können.TLS Zertifikate von SSL.com über das ACME-Protokoll. Certbot kann auf einer Vielzahl von Plattformen ausgeführt werden, darunter Linux, MacOS und Windows.
- Wenn Sie snapd installiertkönnen Sie diesen Befehl für die Installation verwenden:
sudo snap install - klassischer certbot
- If
/snap/bin/
ist nicht in deinemPATH
Sie müssen es auch hinzufügen oder einen Befehl wie den folgenden ausführen:sudo ln -s / snap / bin / certbot / usr / bin / certbot
Wenn Sie weitere Informationen zur Installation von Certbot auf Ihrem System benötigen, lesen Sie bitte die EFFs Dokumentation.
ACME-Anmeldeinformationen abrufen
Bevor Sie mit ACME ein Zertifikat anfordern können, müssen Sie Ihr Zertifikat abrufen Kontoschlüssel und HMAC-Schlüssel von Ihrem SSL.com-Konto.
- Melden Sie sich bei Ihrem SSL.com-Konto an. Wenn Sie bereits angemeldet sind, gehen Sie zu Dashboard Tab.
- Klicken Sie API-Anmeldeinformationenbefindet sich unter Entwickler und Integration.
- Du wirst deine brauchen Konto / ACME-Schlüssel und HMAC-Schlüssel Zertifikate anfordern. Klicken Sie auf das Zwischenablagesymbol () neben jeder Taste, um den Wert in die Zwischenablage zu kopieren.
- Sie können auch einen Certbot-Befehl kopieren, der mit Ihrer E-Mail-Adresse, Ihrem Konto- / ACME-Schlüssel und Ihrem HMAC-Schlüssel gefüllt ist, indem Sie auf das Symbol in der Zwischenablage klicken () neben an Befehl cliUnterhalb ACME Certbot. Dieser vorformatierte Befehl bestellt ein Zertifikat über die HTTP-01-Challenge-Methode.
Manuelles Anfordern eines SSL /TLS Zertifikat
Nachdem Sie Ihre Anmeldeinformationen abgerufen haben, können Sie über das ein Zertifikat anfordern certbot
Befehl. Certbot unterstützt zwei Domain Validation (DV) -Methoden: HTTP-01 und DNS-01.
HTTP-01-Herausforderungsmethode
HTTP-01 ist die am häufigsten verwendete Challenge-Methode für ACME und Certbot. Wenn Sie auf diese Weise ein Zertifikat anfordern, generiert Certbot ein Token, mit dem Sie eine öffentlich zugängliche Datei auf Ihrer Website erstellen können. Der ACME-Server von SSL.com überprüft dann die Datei über HTTP und stellt ein signiertes Zertifikat aus, wenn es korrekt ist.
Anforderungen: Die HTTP-01-Methode erfordert, dass Sie Zugriff auf Ihren Webserver haben und dass die Site über den Port verfügbar ist 80
über HTTP. Sie werden auch brauchen sudo
Berechtigungen auf dem Computer.
Verwenden Sie den folgenden Befehl, um ein Zertifikat manuell abzurufen. Ersetzen Sie die Werte in ALL CAPS durch Ihre tatsächlichen Werte. (Wie oben erwähnt, können Sie auch einen certbot-Befehl kopieren und einfügen, der dies von Ihrem Portal-Konto aus ausführt.)
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- stimme zu --no-eff-email --email E-MAIL-ADRESSE --eab-hmac-key HMAC-SCHLÜSSEL --eab-kid KONTOSCHLÜSSEL -d DOMAIN.NAME
Befehl aufteilen:
sudo certbot
Läuft diecertbot
Befehl mit Superuser-Berechtigungen.certonly
fordert an, ein Zertifikat abzurufen, aber nicht zu installieren.--manual
Gibt an, dass Certbot interaktiv ausgeführt werden soll.--server https://acme.ssl.com/sslcom-dv-ecc
Gibt den ACME-Server von SSL.com an.--config-dir /etc/ssl-com
(optional) legt das Konfigurationsverzeichnis fest.--logs-dir /var/log/ssl-com
(optional) legt das Verzeichnis für Protokolle fest.--agree-tos
(optional) stimmt der ACME-Abonnentenvereinbarung zu. Sie können dies weglassen, wenn Sie interaktiv zustimmen möchten.--no-eff-email
(optional) gibt an, dass Sie Ihre E-Mail-Adresse nicht mit dem EFF teilen möchten. Wenn Sie dies weglassen, werden Sie aufgefordert, Ihre E-Mail-Adresse mitzuteilen.--email EMAIL-ADDRESS
gibt eine Registrierungs-E-Mail-Adresse an. Sie können mehrere durch Kommas getrennte Adressen angeben.--eab-hmac-key HMAC-KEY
Gibt Ihren HMAC-Schlüssel an.--eab-kid ACCOUNT-KEY
Gibt Ihren Kontoschlüssel an.-d DOMAIN.NAME
gibt den Domänennamen an, den das Zertifikat abdeckt. Beachten Sie, dass Sie die-d DOMAIN.NAME
Option mehrmals in Ihrem Befehl, um Ihrem Zertifikat Domänennamen hinzuzufügen. Bei Certbot müssen Sie für jeden angeforderten Domainnamen eine Challenge-Datei erstellen. Bitte beachten Sie den Abschnitt über Zertifikatstypen und Abrechnung unten, um zu sehen, wie verschiedene Kombinationen von Domainnamen zugeordnet werden SSL.com-Zertifikatstypen und deren entsprechende Preisgestaltung.
- Ändern Sie die
--server
Wert im Befehl tohttps://acme.ssl.com/sslcom-dv-rsa
. - Speichern
--key-type rsa
zum Befehl.
certbot
Befehl werden ACME-Kontoinformationen auf Ihrem Computer im Konfigurationsverzeichnis (/etc/ssl-com
im oben gezeigten Befehl. Bei zukünftigen certbot-Ausführungen können Sie die --eab-hmac-key
und --eab-kid
Optionen, da certbot sie zugunsten der lokal gespeicherten Kontoinformationen ignoriert.
Wenn Sie Ihre ACME-Zertifikatsbestellungen für den Computer mit einem anderen SSL.com-Konto verknüpfen müssen, sollten Sie diese Kontoinformationen mit dem Befehl . von Ihrem Computer entfernen sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(oder, wenn Sie das optionale weggelassen haben --config-dir
Option, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Wenn Sie den obigen Befehl ausführen, sollten Sie Anweisungen zum Erstellen einer Validierungsdatei erhalten:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Erstellen Sie eine Datei, die nur diese Daten enthält: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI Und stellen Sie es auf Ihrem Webserver unter folgender URL zur Verfügung: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Drücken Sie die Eingabetaste, um fortzufahren
Erstellen Sie die Datei und speichern Sie sie an einem Ort auf Ihrem Webserver, an dem über HTTP über den Port darauf zugegriffen werden kann 80
Klicken Sie unter der angezeigten URL auf Enter
.
-
) Zeichen. In diesem Fall müssen Sie möglicherweise beim Erstellen Ihrer Datei das Verzeichnis angeben, um zu verhindern, dass die Shell den Bindestrich interpretiert (z vim ./-r1rsRTImVz_s7HHk7biTQ
).Wenn alle Ihre Informationen korrekt sind, sollten Sie eine Bestätigungsnachricht erhalten, in der die Speicherorte Ihrer Zertifikatskette und Ihres privaten Schlüssels aufgeführt sind:
WICHTIGE HINWEISE: - Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert läuft am 2021-10-05 ab. Führen Sie certbot einfach erneut aus, um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten. Führen Sie "certbot erneuern" aus, um * alle * Zertifikate nicht interaktiv zu erneuern.
Sie können Ihren Webserver jetzt so konfigurieren, dass er auf das neue Zertifikat und den neuen privaten Schlüssel zugreift.
DNS-01-Herausforderungsmethode
Die DNS-01 Die Verwendung der Challenge-Methode ist schwieriger als die Verwendung von HTTP-01, kann jedoch für die Verwendung auf mehreren Webservern bequemer sein. Bei dieser Methode stellt Certbot ein Token bereit, mit dem Sie einen DNS-TXT-Eintrag unter dem Domänennamen erstellen, den das Zertifikat schützt.
Anforderungen: Die DNS-01-Methode setzt voraus, dass Sie DNS-Einträge für den Domainnamen Ihrer Website erstellen können.
Der folgende Befehl fordert über die DNS-01-Challenge-Methode ein Zertifikat für DOMAIN.NAME an:
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME
-d DOMAIN.NAME
Option mehrmals in Ihrem Befehl, um Ihrem Zertifikat Domainnamen hinzuzufügen. Bei Certbot müssen Sie für jeden angeforderten Domainnamen einen separaten DNS-TXT-Eintrag erstellen. Sie müssen nicht warten, bis sich jeder TXT-Datensatz verbreitet hat, bevor Sie drücken Enter
bis Sie die letzte Herausforderung erreichen. Bitte beachten Sie den Abschnitt über Zertifikatstypen und Abrechnung unten, um zu sehen, wie verschiedene Kombinationen von Domainnamen zugeordnet werden SSL.com-Zertifikatstypen und deren entsprechende Preisgestaltung. certbot
Befehl werden ACME-Kontoinformationen auf Ihrem Computer im Konfigurationsverzeichnis (/etc/ssl-com
im oben gezeigten Befehl. Bei zukünftigen certbot-Ausführungen können Sie die --eab-hmac-key
und --eab-kid
Optionen, da certbot sie zugunsten der lokal gespeicherten Kontoinformationen ignoriert.
Wenn Sie Ihre ACME-Zertifikatsbestellungen für den Computer mit einem anderen SSL.com-Konto verknüpfen müssen, sollten Sie diese Kontoinformationen mit dem Befehl . von Ihrem Computer entfernen sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(oder, wenn Sie das optionale weggelassen haben --config-dir
Option, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Dieser Befehl ist der gleiche wie der aus dem Abschnitt HTTP-01, fügt jedoch den hinzu --preferred-challenges dns
Möglichkeit. Wenn Sie den Befehl ausführen, erhalten Sie Anweisungen zum Erstellen eines DNS-Eintrags:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
Erstellen Sie den DNS-TXT-Eintrag und warten Sie, bis er sich verbreitet. (whatsmydns.net ist ein praktisches Tool zur Überprüfung der DNS-Weitergabe. Beachten Sie, dass der Unterstrich (_) am Anfang des Datensatznamens lautet falls angefordert. Wenn sich der Rekord weltweit verbreitet hat, drücken Sie Enter
.
*.example.com
) Sie müssen den Basisdomänennamen separat anfordern, wenn Sie ihn auch schützen möchten (z. B.) -d *.example.com -d example.com
). In einem solchen Fall müssen Sie erstellen XNUMX TXT-Datensätze mit demselben Namen (_acme-challenge.example.com
). Wenn alle Ihre Informationen korrekt sind, sollten Sie eine Bestätigungsnachricht erhalten, in der die Speicherorte Ihrer Zertifikatskette und Ihres privaten Schlüssels aufgeführt sind:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"
Sie können Ihren Webserver jetzt so konfigurieren, dass er auf das neue Zertifikat und den neuen privaten Schlüssel zugreift.
Zertifikatserneuerung (manuell)
Bei manuell ausgestellten Zertifikaten (wie in diesem Handbuch beschrieben) erfolgt die Zertifikatserneuerung durch einfaches Wiederholen des Befehls zum Anfordern des Zertifikats. Certbot bietet eine renew
Unterbefehl, aber es wird ein Fehler bei dem Versuch erzeugt, ihn mit Zertifikaten zu verwenden, die mit dem angefordert werden --manual
Option:
sudo certbot erneuern - Force-Erneuerung Speichern des Debug-Protokolls in /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verarbeitung /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Das passende Plugin konnte nicht ausgewählt werden: Das manuelle Plugin funktioniert nicht; Möglicherweise liegen Probleme mit Ihrer vorhandenen Konfiguration vor. Der Fehler war: PluginError ('Ein Authentifizierungsskript muss mit --manual-auth-hook versehen sein, wenn das manuelle Plugin nicht interaktiv verwendet wird.') Versuch, das Zertifikat (DOMAIN.NAME) von / etc / ssl-com / zu erneuern Erneuerung / DOMAIN.NAME.conf hat einen unerwarteten Fehler verursacht: Das manuelle Plugin funktioniert nicht; Möglicherweise liegen Probleme mit Ihrer vorhandenen Konfiguration vor. Der Fehler war: PluginError ('Ein Authentifizierungsskript muss mit --manual-auth-hook versehen sein, wenn das manuelle Plugin nicht interaktiv verwendet wird.',). Überspringen. Alle Erneuerungsversuche sind fehlgeschlagen. Die folgenden Zertifikate konnten nicht erneuert werden: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (Fehler) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Alle Erneuerungsversuche sind fehlgeschlagen. Die folgenden Zertifikate konnten nicht erneuert werden: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (Fehler) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 Erneuerungsfehler, 0 Analysefehler;
Widerruf des Zertifikats
Widerrufen Sie ein Zertifikat mit certbot revoke
. Ersetzen Sie den Zertifikatpfad in ALL CAPS durch Ihre tatsächlichen Werte (z. B. /etc/ssl-com/live/example.com/cert.pem
). Wenn Sie keine benutzerdefinierte angegeben haben --config-dir
und --logs-dir
Lassen Sie diese Optionen aus, wenn Sie das Originalzertifikat anfordern.
sudo certbot widerrufen --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com
Sie werden gefragt, ob Sie das widerrufene Zertifikat auch löschen möchten:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Möchten Sie die Zertifikate löschen? Sie haben gerade widerrufen, zusammen mit allen früheren und späteren Versionen des Zertifikats? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (empfohlen) / (N. ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Alle Dateien gelöscht, die sich auf das Zertifikat beziehen DOMAIN.NAME. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.
Versuchen Sie Folgendes, um den Fehler zu beheben:
a) Geben Sie den privaten Schlüsselpfad des Zertifikats an, um die Widerrufsanforderung zu signieren.
Beispiel:
--key-path /PATH/TO/privkey.pem
b) Wenn Sie ein benutzerdefiniertes Verzeichnis verwendet haben, geben Sie das Verzeichnis an, das Sie beim Ausstellen des Zertifikats verwendet haben:
--config-dir
Zertifikatstypen und Abrechnung
Alle SSL /TLS Zertifikate, die von SSL.com über ACME ausgestellt wurden, sind einjährige Zertifikate. Der SSL.com-Zertifikatstyp, den Sie erhalten (und der Ihnen in Rechnung gestellt wird), hängt von der Anzahl und dem Typ der angeforderten Domainnamen ab:
- Grundlegendes SSL: Ein Domainname oder Domainname plus
www
Subdomain (zexample.com
undwww.example.com
).- Beachten Sie, dass Sie sowohl den Basisdomänennamen als auch schützen möchten
www
müssen Sie beide in Ihren Certbot-Befehl aufnehmen (z-d example.com -d www.example.com
).
- Beachten Sie, dass Sie sowohl den Basisdomänennamen als auch schützen möchten
- Wildcard-SSL: Ein Platzhalterdomänenname oder ein Platzhalterdomänenname plus Basisdomänenname (z
*.example.com
undexample.com
). - Premium-SSL: Basisdomänenname und ein bis drei Nicht-Platzhalter-Subdomänen. (Ausnahme: Wie oben erwähnt, Basisdomäne plus
www
Subdomain [und keine anderen] werden als Basic SSL in Rechnung gestellt.) Zum Beispiel:
example.com
undinfo.example.com
example.com
,www.example.com
undinfo.example.com
example.com
,www.example.com
,info.example.com
undstore.example.com
- Multi-Domain-UCC / SAN-SSL: Jede andere Kombination von Domainnamen. Zum Beispiel:
- Basisdomänenname und mehr als drei Unterdomänen
- Zwei oder mehr Wildcard- und / oder Nicht-Subdomain-Domainnamen
Teilnehmer in SSL.com Reseller- und Volumeneinkaufsprogramm werden zu dem ermäßigten Preis abgerechnet, der mit ihrer Preisstufe verbunden ist.
Für mehr Informationen
Mit dem ACME-Protokoll (mit oder ohne Certbot) können Sie noch viel mehr tun. Weitere Informationen finden Sie in den folgenden Ressourcen:
- Was ist das ACME-Protokoll?
- ACME SSL /TLS Automatisierung mit Apache und Nginx
- SSL /TLS Automatisierung für das IoT mit ACME
- Certbot-Dokumentation
- Certbot-Manpage
Benötigen Sie weitere Hilfe mit Ihrem SSL.com-Konto?
- Ihr SSL.com-Konto - Senden eines CSR
- Fehlgeschlagener Vortest?!
- Ihr SSL.com-Konto - Validierungen
- Ihr SSL.com-Konto - Bestellungen
- Die SWS-API von SSL.com - Einführung
- Ihr SSL.com-Konto - Domains
- Unterstützte Cloud-HSMs für die Signatur von Dokumenten und EV-Code