View a markdown version of this page

Ausstellung von Zertifikaten über ACME - AWS Certificate Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausstellung von Zertifikaten über ACME

Nachdem Ihr PKI-Administrator einen ACME-Endpunkt mit Domänenvalidierungen und externen Kontobindungen eingerichtet hat, können Anwendungsbesitzer ACME-Clients verwenden, um Zertifikate auszustellen. Dieser Abschnitt beschreibt den Ausstellungsablauf, enthält ein kurzes Beispiel für die Verwendung von Certbot und erklärt, wie Zertifikate in ACM angezeigt werden. ACME-issued

Wie funktioniert die Ausstellung

Der Ablauf der Ausstellung von ACME-Zertifikaten folgt dem RFC 8555-Protokoll:

  1. Kontoregistrierung: Der ACME-Client registriert ein Konto mit den EAB-Anmeldeinformationen (Schlüssel-ID und MAC-Schlüssel). Dies ist ein einmaliger Schritt pro ACME-Client.

  2. Zertifikatsreihenfolge: Der Client erstellt eine Bestellung, in der die Domainnamen für das Zertifikat angegeben sind.

  3. Autorisierung: Der ACME-Server überprüft vorkonfigurierte Domänenvalidierungen. Da der Endpunkt die PRE_APPROVED Autorisierung verwendet, sind keine Live-Challenges vom Client erforderlich.

  4. Abschließen: Der Kunde reicht eine Certificate Signing Request (CSR) ein, um die Bestellung abzuschließen, und ACM stellt das Zertifikat aus.

  5. Herunterladen: Der Client lädt die ausgestellte Zertifikatskette herunter.

Wichtig

Der private Schlüssel wird vom ACME-Client generiert und verlässt niemals das System des Kunden.

Beispiel: Ausstellung eines Zertifikats mit Certbot

Dieses Beispiel zeigt, wie Sie mit Certbot ein ACME-Konto registrieren und ein Zertifikat anfordern.

Voraussetzungen

  • Ein ACME-Endpunkt im ACTIVE Status (Sie haben die Verzeichnis-URL)

  • Mindestens eine Domainvalidierung im VALID Status für die gewünschte Domain

  • EAB-Anmeldeinformationen (Schlüssel-ID und MAC-Schlüssel) von Ihrem PKI-Administrator

  • Certbot ist auf Ihrem System installiert

Um ein Konto zu registrieren und ein Zertifikat anzufordern

Wichtig

Die Ausstellung von Zertifikaten über den ACM ACME-Endpunkt kann bis zu zwei Minuten dauern. Konfigurieren Sie das Ausstellungs-Timeout Ihres ACME-Clients auf mindestens 120 Sekunden (2 Minuten), um zu verhindern, dass der Client vor der Zustellung des Zertifikats eine Zeitüberschreitung durchführt. Viele ACME-Clients verwenden standardmäßig 30-90 Sekunden, was nicht ausreichend ist.

Führen Sie den folgenden Befehl aus:

certbot certonly \ --standalone \ --non-interactive \ --agree-tos \ --email user@example.com \ --server https://acm-acme-enroll.region.api.aws/00000000-0000-0000-0000-000000000000/directory \ --eab-kid AAABBBCCC111222333 \ --eab-hmac-key base64encodedmackey \ --issuance-timeout 120 \ --domain www.example.com

Nach erfolgreicher Ausstellung speichert Certbot das Zertifikat und den privaten Schlüssel an seinem Standardspeicherort (normalerweise). /etc/letsencrypt/live/www.example.com/

ACME-Zertifikate in ACM

Über ACME ausgestellte Zertifikate erhalten automatisch einen Standard-ACM-Zertifikat-ARN und erscheinen im ACM-Zertifikatinventar. ACME-issued Zertifikate weisen jedoch wichtige Unterschiede zu Zertifikaten auf, die über ausgestellt wurden. RequestCertificate

Die wichtigsten Unterschiede

  • Der private Schlüssel ist clientseitig: Der private Schlüssel des Zertifikats wird vom ACME-Client generiert und gespeichert. ACM hat keinen Zugriff auf den privaten Schlüssel.

  • Kann nicht an integrierte Dienste gebunden werden: Da sie AWS nicht den privaten Schlüssel enthalten, können ACME-Zertifikate nicht mit Elastic Load Balancing oder API Gateway verwendet werden. CloudFront

  • Nicht in der Standardlistenausgabe: ACME-Zertifikate werden standardmäßig nicht in den ListCertificates Ergebnissen angezeigt. Sie müssen den CertificateKeyPairOrigins Filter mit Wert angebenACME, um sie einzubeziehen. SearchCertificatesgibt standardmäßig ACME-Zertifikate zurück.

  • Export über ACM nicht möglich: Die ExportCertificate API kann nicht verwendet werden, da das Zertifikat per Definition bereits exportiert wurde, da der Client es besitzt.

  • Widerruf nur über ACME: Verwenden Sie die Sperrzertifikat-URL des ACME-Endpunkts. Die RevokeCertificate ACM-API funktioniert nicht für Zertifikate. ACME-issued

  • Die Verlängerung erfolgt kundengesteuert: ACM erneuert ACME-Zertifikate nicht automatisch. Der ACME-Client muss ein neues Zertifikat anfordern, bevor das bestehende abläuft.

ACME-Zertifikate anzeigen

Verwenden Sie in der ACM-Konsole den Filter, um Zertifikate mit einem ACME-Schlüsselpaar-Ursprung einzubeziehen. Weitere Informationen zum Suchen nach Zertifikaten finden Sie unter. Suchen Sie nach Zertifikaten

Um ACME-Zertifikate aufzulisten (AWS CLI)

list-certificatesMit dem CertificateKeyPairOrigins Filter verwenden:

aws acm list-certificates \ --certificate-key-pair-origins ACME

So suchen Sie nach ACME-Zertifikaten (AWS CLI)

Verwenden Sie search-certificates ihn zusammen mit dem CertificateKeyPairOrigin Filter, um ACME-Zertifikate anhand zusätzlicher Kriterien zu finden:

aws acm search-certificates \ --filter-statement '{"Filter": {"AcmCertificateMetadataFilter": {"CertificateKeyPairOrigin": "ACME"}}}'

Sie können auch nach Zertifikaten suchen, die über einen bestimmten Endpunkt oder ein bestimmtes ACME-Konto ausgestellt wurden, indem Sie nach oder filtern. AcmeEndpointArn AcmeAccountId

So zeigen Sie Zertifikatsdetails an (AWS CLI)

Führen Sie den folgenden Befehl aus:

aws acm describe-certificate \ --certificate-arn arn:aws:acm:region:account-id:certificate/certificate-id

Widerrufen von ACME-Zertifikaten

Um ein über ACME ausgestelltes Zertifikat zu widerrufen, verwenden Sie den Revoke-Cert-Endpunkt des ACME-Protokolls. Der ACME-Client kümmert sich darum.

Anmerkung

ACME-issued Zertifikate können nicht mit der RevokeCertificate ACM-API gesperrt werden. Sie müssen diese Zertifikate über den ACME-Endpunkt widerrufen, der sie ausgestellt hat.

Das folgende Beispiel zeigt den Widerruf mit Certbot:

certbot revoke \ --cert-path /etc/letsencrypt/live/www.example.com/cert.pem \ --server https://acm-acme-enroll.region.api.aws/00000000-0000-0000-0000-000000000000/directory

Der Widerruf wird durch die IAM-Rolle autorisiert, die der externen Kontobindung des Kunden zugeordnet ist. Daher gelten hier dieselben IAM-Richtlinien und SCPs, die für die Standardaktion gelten. acm:RevokeCertificate Weitere Informationen zur erforderlichen IAM-Rollenkonfiguration finden Sie unter. IAM für die Automatisierung von ACME-Zertifikaten

Zertifikatserneuerung

ACME-Zertifikate werden von ACM nicht erneuert. Ihr ACME-Client ist dafür verantwortlich, ein neues Zertifikat anzufordern, bevor das aktuelle abläuft. Die meisten ACME-Clients (einschließlich Certbot) unterstützen die automatische Verlängerung durch geplante Aufgaben (wie Cron-Jobs oder Systemd-Timer).

ARN-Stabilität bei Verlängerungen

Wenn ein ACME-Client ein Zertifikat erneuert, bestimmt ACM, ob es sich bei der neuen Ausstellung um eine Verlängerung eines vorhandenen Zertifikats oder um ein anderes Zertifikat handelt. Wenn die Ausstellung von demselben ACME-Konto mit denselben Zertifikatsmetadaten (wie Domainnamen und Schlüsselalgorithmus) erfolgt, aktualisiert ACM den vorhandenen Zertifikat-ARN, anstatt einen neuen zu erstellen. Dadurch bleibt der ARN auch bei Verlängerungen stabil, was die Nachverfolgung und Automatisierung vereinfacht.

Wenn das Originalzertifikat aus ACM entfernt wurde (z. B. weil es vor mehr als einem Jahr abgelaufen ist und automatisch gelöscht wurde), erstellt eine nachfolgende Ausstellung mit denselben Metadaten einen neuen Zertifikat-ARN.

Beispiel für die automatische Verlängerung von Certbot (normalerweise automatisch während der Certbot-Installation konfiguriert):

certbot renew --quiet