Zertifikat über eine Public CA und einen ACME-Client anfordern

In dieser Anleitung erfahren Sie, wie Sie mit der Google Cloud CLI ein TLS-Zertifikat bei einer öffentlichen Zertifizierungsstelle anfordern. Informationen zum Stamm und Von Public Certificate Authority verwendete Zwischen-CAs, siehe Google Trust Services: Das Anfordern von Zertifikaten von Public CA ist kostenlos.

Hinweise

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  • Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  • Prüfen Sie, ob Sie entweder den Eigentümer (roles/owner) oder die Ersteller von externen Kontoschlüsseln öffentlicher Zertifizierungsstellen (publicca.externalAccountKeyCreator) IAM-Rolle.

    Ersteller des externen Kontoschlüssels der öffentlichen Zertifizierungsstelle gewähren (publicca.externalAccountKeyCreator) IAM-Rolle, führen Sie den folgenden Befehl:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=user:USER \
      --role=roles/publicca.externalAccountKeyCreator
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die ID Ihres Google Cloud-Projekts
    • USER: die eindeutige Kennung des Nutzers, dem Sie die IAM-Rolle zuweisen möchten

    Informationen zum Zuweisen einer IAM-Rolle finden Sie unter Zugriff verwalten auf Projekte, Ordner und Organisationen.

  • Enable the Public CA API:

    gcloud services enable publicca.googleapis.com

Client installieren

Um eine Public CA verwenden zu können, müssen Sie ein ACME-Client. In der folgenden Anleitung wird Certbot als ACME-Client verwendet. Sie können jeden anderen ACME-Client verwenden, wenn der Client die externe Kontobindung (EAB) unterstützt.

Informationen zur Installation von Certbot finden Sie in der Certbot-Anleitung.

Achten Sie darauf, dass Ihr Client auf den Server der Public CA verweist. Die erste wenn der ACME-Client mit Public CA interagiert, generiert der Client ein neues Schlüsselpaar und sendet den öffentlichen Schlüssel an die öffentliche Zertifizierungsstelle.

EAB-Schlüssel-ID und HMAC anfordern

Nachdem Sie einen ACME-Client installiert haben, müssen Sie Ihr ACME-Konto registrieren. mit Public CA, um Zertifikate von der öffentlichen Zertifizierungsstelle anzufordern. Mit einem EAB-Secret können Sie Ihr ACME-Konto bei Öffentliche Zertifizierungsstelle. Ein EAB-Secret besteht aus einer Schlüssel-ID und einem hashbasierten Message Authentication Code (HMAC).

Mit der Public CA API oder der Google Cloud CLI können Sie ein EAB-Secret anfordern.

Führen Sie den folgenden Befehl aus, um eine EAB-Schlüssel-ID und einen HMAC anzufordern:

gcloud publicca external-account-keys create

Dieser Befehl gibt ein EAB-Secret zurück, das in der Produktionsumgebung der Public CA gültig ist. Im Antworttext enthält der keyId enthält die EAB-Schlüssel-ID und das Feld b64MacKey enthält den EAB-HMAC.

Sie müssen ein EAB-Secret innerhalb von 7 Tagen nach Erhalt verwenden. Das EAB-Secret ist für ungültig erklärt, wenn Sie sie nicht innerhalb von 7 Tagen verwenden. Das ACME-Konto, das mit einem EAB-Secret registriert wurde, läuft nicht ab.

ACME-Konto registrieren

In diesem Abschnitt wird erläutert, wie Sie ein ACME-Konto mit Public CA, indem Sie das soeben abgerufene EAB-Secret angeben.

Verwenden Sie einen regulären ACME-Client, um ein ACME-Konto zu registrieren, und geben Sie bei der Registrierung die EAB-Schlüssel-ID und den HMAC an.

So registrieren Sie ein ACME-Konto bei einer Public CA und binden das ACME-Konto: mit dem Google Cloud-Projekt verknüpfen, mit dem Sie das EAB-Secret angefordert haben, führen Sie den folgenden Befehl:

certbot register \
    --email "EMAIL_ADDRESS" \
    --no-eff-email \
    --server "SERVER" \
    --eab-kid "EAB_KID" \
    --eab-hmac-key "EAB_HMAC_KEY"

Ersetzen Sie Folgendes:

  • EMAIL_ADDRESS: Ihre E-Mail-Adresse.
  • SERVER: URL des ACME-Verzeichnisses für die Produktions- oder Staging-Umgebung
  • EAB_KID: die EAB-Schlüssel-ID
  • EAB_HMAC_KEY: der EAB-HMAC-Schlüssel

Die folgende Tabelle enthält die Beschreibung und die URL des ACME-Verzeichnisses für die Produktions- und Staging-Umgebung:

Umgebung Beschreibung URL des ACME-Verzeichnisses
In der Produktionsumgebung können Sie öffentlich vertrauenswürdige Zertifikate abrufen. https://dv.acme-v02.api.pki.goog/directory
Staging Die Staging-Umgebung gibt Zertifikate zurück, die nicht öffentlich vertrauenswürdig sind. Die Staging-Umgebung führt dieselben Validierungsprüfungen durch wie die Produktion zu verbessern. Sie können die Staging-Umgebung für die Integration oder eine andere Tests durchführen. https://dv.acme-v02.test-api.pki.goog/directory

Sie können nur ein ACME-Konto mit einem EAB-Secret registrieren. Nachdem Sie ein ACME-Konto mit einem EAB-Secret registriert hat, wird das EAB-Secret ungültig und können nicht wiederverwendet werden. Wenn Sie mehrere ACME-Konten registrieren möchten, müssen Sie Fordern Sie für jedes Konto einen eindeutigen EAB-Schlüssel an.

Zertifikate anfordern

Nachdem die öffentliche Zertifizierungsstelle Ihre Kontrolle über das Zertifikatziel bestätigt hat und bestätigt, dass Ihr ACME-Client wie erwartet funktioniert. können Sie mit den regulären ACME-Workflows Zertifikate anfordern, verlängern und widerrufen. Sie können diese Vorgänge mit der Ihre ACME-Kundin. Wenn Sie ein Zertifikat anfordern und verlängern möchten, müssen Sie eine ACME-Herausforderung wie die manuelle DNS-Abfrage.

Führen Sie folgenden Befehl aus, um mit der manuellen DNS-Abfrage ein Zertifikat anzufordern: Befehl:

certbot certonly \
    --manual \
    --preferred-challenges "dns-01" \
    --server "SERVER" \
    --domains "DOMAINS"

Ersetzen Sie Folgendes:

  • SERVER: URL des ACME-Verzeichnisses für die Produktion oder das Staging Umgebung
  • DOMAINS: eine durch Kommas getrennte Liste der Domains, für die Sie Zertifikate anfordern

Bereinigen

Wenn Sie keine Zertifikate für Ihre Domains mehr benötigen, Löschen Sie das von Ihnen erstellte Projekt.

Staging

Sie können die Staging-Umgebung der Public CA verwenden, um Zertifikate zu Testzwecken anzufordern. Die von der Staging-Instanz ausgestellten Zertifikate Umgebungskette bis zur Test-Stammzertifizierungsstelle. Zertifikate aus der Staging-Umgebung werden von Browsern oder anderen Clients, die nicht so konfiguriert sind, dass sie dem Staging-Root-Zertifikat vertrauen, nicht als vertrauenswürdig eingestuft. So rufen Sie ein EAB-Secret ab, das in der Staging-Umgebung gültig ist: überschreiben Sie den API-Endpunkt, um den Endpunkt für die Staging-Umgebung zu verwenden:

gcloud config set api_endpoint_overrides/publicca https://preprod-publicca.googleapis.com/
Führen Sie dann den Befehl zum Erstellen eines Kontoschlüssels aus, um einen Staging-Schlüssel zu erstellen:
gcloud publicca external-account-keys create
Führen Sie den folgenden Befehl aus, um zum Endpunkt für die Produktionsumgebung zurückzukehren. Befehl:
gcloud config unset api_endpoint_overrides/publicca

Delete a Google Cloud project:

gcloud projects delete PROJECT_ID

Nächste Schritte