Fehlerbehebung bei SSL-Zertifikaten

Die Schritte zur Fehlerbehebung unterscheiden sich abhängig davon, ob Sie von Google verwaltete SSL-Zertifikate oder selbstverwaltete SSL-Zertifikate verwenden.

Fehlerbehebung bei von Google verwalteten Zertifikaten

Status des von Google verwalteten SSL-Zertifikats

Führen Sie den folgenden Befehl aus, um den Zertifikatstatus zu prüfen:

gcloud beta compute ssl-certificates describe CERTIFICATE_NAME \
    --global \
    --format="get(name,managed.status)"

Der Status verwaltet kann folgende Werte haben:

Verwaltet Erklärung
PROVISIONING Das von Google verwaltete Zertifikat wurde erstellt und Google Cloud arbeitet mit der Zertifizierungsstelle zusammen, um es zu signieren.
Die Bereitstellung eines von Google verwalteten Zertifikats kann bis zu 60 Minuten dauern.

Wenn das Zertifikat weiterhin den Status BEREITSTELLUNG hat, prüfen Sie, ob das richtige Zertifikat mit dem Zielproxy verknüpft ist. Führen Sie dazu den Befehl gcloud compute target-https-proxies describe oder gcloud compute target-ssl-proxies describe aus.
ACTIVE Das von Google verwaltete SSL-Zertifikat erhalten Sie von der Zertifizierungsstelle. Es kann zusätzliche 30 Minuten dauern, bis es von einem Load-Balancer verwendet werden kann.
PROVISIONING_FAILED Möglicherweise sehen Sie PROVISIONING_FAILED kurz, auch wenn Ihr Zertifikat tatsächlich ACTIVE ist. Prüfen Sie den Status noch einmal.

Wenn der Status weiter PROVISIONING_FAILED ist, wurde das von Google verwaltete Zertifikat erstellt, die Zertifizierungsstelle kann es aber nicht signieren. Prüfen Sie, ob Sie alle Schritte unter Von Google verwaltete SSL-Zertifikate verwenden ausgeführt haben.

Google Cloud wiederholt die Bereitstellung solange, bis sie erfolgreich ist oder sich der Status in PROVISIONING_FAILED_PERMANENTLY ändert.
PROVISIONING_FAILED_PERMANENTLY Das von Google verwaltete Zertifikat wurde erstellt, kann aber wegen eines DNS- oder Load-Balancer-Konfigurationsproblems von der Zertifizierungsstelle nicht signiert werden. In diesem Fall wiederholt Google Cloud die Bereitstellung nicht noch einmal.

Erstellen Sie ein von Google verwaltetes SSL-Ersatzzertifikat und achten Sie darauf, dass der Ersatz dem Zielproxy Ihres Load-Balancers zugeordnet ist. Prüfen Sie die Schritte unter Von Google verwaltete SSL-Zertifikate verwenden und führen Sie sie aus, falls noch nicht geschehen. Anschließend können Sie das Zertifikat löschen, das dauerhaft nicht bereitgestellt werden konnte.

Domainstatus des von Google verwalteten SSL-Zertifikats

Führen Sie den folgenden Befehl aus, um den Domainstatus zu prüfen:

gcloud beta compute ssl-certificates describe CERTIFICATE_NAME \
    --global \
    --format="get(managed.domainStatus)"

Die Werte für den Domainstatus werden in dieser Tabelle beschrieben.

Domainstatus Erklärung
PROVISIONING Das von Google verwaltete Zertifikat wird für die Domain erstellt. Google Cloud arbeitet mit der Zertifizierungsstelle zusammen, um das Zertifikat zu signieren.
Die Bereitstellung eines von Google verwalteten Zertifikats kann bis zu 60 Minuten dauern.
ACTIVE Das von Google verwaltete SSL-Zertifikat erhalten Sie von der Zertifizierungsstelle. Die Bereitstellung für diese Domain ist abgeschlossen. Es kann zusätzliche 30 Minuten dauern, bis das Zertifikat für die Verwendung durch einen Load-Balancer verfügbar ist.
FAILED_NOT_VISIBLE Die Zertifikatbereitstellung für die Domain ist fehlgeschlagen. Möglicherweise liegt eines der folgenden Probleme vor: Google Cloud versucht weiterhin, das Zertifikat bereitzustellen, während der verwaltete Status PROVISIONING ist.
FAILED_CAA_CHECKING Die Bereitstellung von Zertifikaten hat ein Konfigurationsproblem mit dem CAA-Eintrag Ihrer Domain festgestellt und ist darum fehlgeschlagen. Achten Sie darauf, dass Sie den richtigen Vorgang befolgt haben.
FAILED_CAA_FORBIDDEN Die Bereitstellung von Zertifikaten ist fehlgeschlagen, da der CAA-Eintrag Ihrer Domain keine von Google Cloud zu verwendende Zertifizierungsstelle angibt. Achten Sie darauf, dass Sie den richtigen Vorgang befolgt haben.
FAILED_RATE_LIMITED Die Bereitstellung von Zertifikaten ist fehlgeschlagen, da eine Zertifizierungsstelle befristete Anfragen für Zertifikatsignaturen hat. Sie können noch einmal versuchen, ein von Google verwaltetes SSL-Ersatzzertifikat zu erstellen, oder den Google Cloud-Support kontaktieren.

Von Google verwaltetes Zertifikat verlängern

Wenn Google ein verwaltetes Zertifikat verlängert, das mehrere Domains umfasst, und die Domains oder Subdomains nicht auf die IP-Adresse des Load-Balancers verweisen, schlägt die Verlängerung fehl. Vergewissern Sie sich nach der Bereitstellung Ihres verwalteten Zertifikats, dass alle Domains und Subdomains weiterhin auf die IP-Adresse des Load-Balancers verweisen. So lassen sich Fehler bei der Verlängerung vermeiden.

Fehlerbehebung bei selbstverwalteten SSL-Zertifikaten

Das Zertifikat kann nicht geparst werden

Für Google Cloud sind Zertifikate im PEM-Format erforderlich. Wenn das Zertifikat im PEM-Format vorliegt, prüfen Sie Folgendes:

Sie können Ihr Zertifikat mithilfe des folgenden OpenSSL-Befehls validieren. Ersetzen Sie dabei CERTIFICATE_FILE durch den Pfad zu Ihrer Zertifikatsdatei:

openssl x509 -in CERTIFICATE_FILE -text -noout

Wenn OpenSSL Ihr Zertifikat nicht parsen kann:

Fehlender gemeinsamer Name oder alternativer Antragstellername

Bei Google Cloud muss das Zertifikat entweder einen gemeinsamen Namen (CN) oder einen alternativen Antragstellernamen (SAN) haben. Weitere Informationen erhalten Sie unter CSR erstellen.

Wenn beide Attribute fehlen, zeigt Google Cloud beim Versuch, ein selbstverwaltetes Zertifikat zu erstellen, die folgende Fehlermeldung an:

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 - The SSL certificate is missing a Common Name(CN) or Subject Alternative
   Name(SAN).

Der private Schlüssel kann nicht geparst werden

Google Cloud erfordert private Schlüssel im PEM-Format, die die Kriterien für private Schlüssel erfüllen.

Sie können Ihren privaten Schlüssel mit dem folgenden OpenSSL-Befehl validieren. Ersetzen Sie dabei PRIVATE_KEY_FILE durch den Pfad zu Ihrem privaten Schlüssel:

    openssl rsa -in PRIVATE_KEY_FILE -check

Die folgenden Antworten weisen auf ein Problem mit Ihrem privaten Schlüssel hin:

  • unable to load Private Key
  • Expecting: ANY PRIVATE KEY
  • RSA key error: n does not equal p q
  • RSA key error: d e not congruent to 1
  • RSA key error: dmp1 not congruent to d
  • RSA key error: dmq1 not congruent to d
  • RSA key error: iqmp not inverse of q

Zur Behebung des Problems müssen Sie einen neuen privaten Schlüssel und ein neues Zertifikat erstellen.

Private Schlüssel mit Passphrasen

Wenn Sie von OpenSSL zur Eingabe einer Passphrase aufgefordert werden, müssen Sie die Passphrase aus Ihrem privaten Schlüssel entfernen, bevor Sie sie für Google Cloud verwenden können. Sie können den folgenden OpenSSL-Befehl verwenden:

openssl rsa -in PRIVATE_KEY_FILE \
    -out REPLACEMENT_PRIVATE_KEY_FILE

Ersetzen Sie die Platzhalter durch gültige Werte:

  • PRIVATE_KEY_FILE: Der Pfad zu Ihrem privaten Schlüssel, der mit einer Passphrase geschützt ist
  • REPLACEMENT_PRIVATE_KEY_FILE: Ein Dateipfad, in dem Sie eine Kopie Ihres privaten Klartextschlüssels speichern möchten

Ablaufende Zwischenzertifikat(e)

Wenn ein Zwischenzertifikat vor dem (untergeordneten) Serverzertifikat abläuft, könnte dies darauf hindeuten, dass Ihre Zertifizierungsstelle die Best Practices nicht befolgt.

Wenn ein Zwischenzertifikat abläuft, wird Ihr untergeordnetes Zertifikat, das in Google Cloud verwendet wird, möglicherweise ungültig. Dies hängt folgendermaßen vom SSL-Client ab:

  • Einige SSL-Clients betrachten nur die Ablaufzeit des untergeordneten Zertifikats und ignorieren abgelaufene Zwischenzertifikate.
  • Einige SSL-Clients behandeln eine Kette mit abgelaufenen Zwischenzertifikaten als ungültig und zeigen eine Warnung an.

So lösen Sie dieses Problem:

  1. Warten Sie, bis die Zertifizierungsstelle zu einem neuen Zwischenzertifikat gewechselt hat.
  2. Fordern Sie ein neues Zertifikat an.
  3. Laden Sie das neue Zertifikat mit den neuen Schlüsseln noch einmal hoch.

Ihre Zertifizierungsstelle lässt möglicherweise auch Quersignaturen für Zwischenzertifikate zu. Wenden Sie sich zur Bestätigung an Ihre Zertifizierungsstelle.

Der öffentliche RSA-Exponent ist zu groß

Die folgende Fehlermeldung wird angezeigt, wenn der öffentliche RSA-Exponent größer als 65537 ist. Achten Sie darauf, 65537 gemäß RFC 4871 zu verwenden.

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 - The RSA public exponent is too large.