Zertifikat anfordern
Auf dieser Seite wird beschrieben, wie Sie eine Zertifikatsanfrage im Certificate Authority Service erstellen.
Sie haben folgende Möglichkeiten, ein Zertifikat anzufordern:
- Generieren Sie einen eigenen privaten oder öffentlichen Schlüssel und reichen Sie eine CSR-Anfrage (Certificate Signing Request) ein.
- Verwenden Sie einen privaten oder öffentlichen Schlüssel, der vom CA Service automatisch generiert wurde.
- Einen vorhandenen Cloud Key Management Service-Schlüssel (Cloud KMS) verwenden.
Hinweise
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „CA Service Certificate Requester“ (
roles/privateca.certificateRequester
) oder „CA Service Certificate Manager“ (roles/privateca.certificateManager
) zuzuweisen, um die Berechtigungen zum Ausstellen von Zertifikaten zu erhalten.Weitere Informationen zu den vordefinierten IAM-Rollen für den CA-Dienst finden Sie unter Zugriffssteuerung mit IAM.
Informationen zum Zuweisen einer IAM-Rolle an ein Hauptkonto finden Sie unter Einzelne Rolle zuweisen.
Zertifikat mit einer CSR anfordern
Um ein Zertifikat zu erhalten, generieren Sie eine CSR, mit der Sie das Zertifikat anfordern.
CSR generieren
Eine ausführliche Anleitung zum Generieren eines CSR mit OpenSSL finden Sie unter CSR mit OpenSSL generieren. Sie können auch die folgende Beispielkonfigurationsdatei als Referenz verwenden, wenn Sie Ihre CSR generieren.
So verwenden Sie die Beispielkonfigurationsdatei:
Erstellen Sie eine Konfigurationsdatei mit dem Namen
csr.cnf
und folgendem Inhalt:cat << EOF > csr.cnf [req] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [req_distinguished_name] CN = example.com [v3_req] keyUsage = critical, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1 = example.com DNS.2 = www.example.com EOF
In diesem Beispiel wird ein 2048-Bit-RSA-Schlüssel (mit Passphrase verschlüsselt) und ein entsprechendes CSR generiert, das Folgendes enthält:
- das
commonName
-Attribut im DN des Subjekts - die
subjectAlternativeName
-Erweiterung - die
keyUsage
-Erweiterung (als kritisch gekennzeichnet) - die
extendedKeyUsage
-Erweiterung
Ändern Sie die Parameter nach Bedarf. Informationen zum Definieren von Erweiterungen für X.509-Zertifikate und CSRs mit dem Konfigurationsdateiformat
x509v3_config
finden Sie in der OpenSSL-Dokumentation.- das
Führen Sie den folgenden
openssl
-Befehl aus, um eine CSR und einen entsprechenden privaten Schlüssel zu generieren:openssl req -newkey rsa:2048 -out csr.pem -keyout key.pem -config csr.cnf
Mit diesem Befehl werden die folgenden Dateien generiert:
csr.pem
: Ihre CSR, die bei einer Zertifizierungsstelle eingereicht werden kannkey.pem
: Ihren privaten Schlüssel, den Sie sicher aufbewahren sollten
Verwenden Sie die Datei
csr.pem
in Ihrer Zertifikatsanfrage.
Zertifikatsanfrage mit dem CSR senden
So fordern Sie ein Zertifikat mithilfe der CSR an:
Console
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf Zertifikat anfordern.
Wählen Sie eine Region aus. Die Region muss mit der Region des CA-Pools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen CA-Pool aus.
Optional: Wählen Sie eine bestimmte Zertifizierungsstelle aus dem CA-Pool aus. Wenn Sie eine bestimmte Zertifizierungsstelle für die Zertifikatsausstellung auswählen, entsteht eine Abhängigkeit von dieser Zertifizierungsstelle, was die Rotation der Zertifizierungsstellen erschwert.
Optional: Wählen Sie eine Zertifikatsvorlage aus. Wenn Sie eine Zertifikatsvorlage verwenden, achten Sie darauf, dass die Richtlinien der Zertifikatsvorlage nicht mit den Richtlinien des ausgewählten Zertifizierungsstellenpools in Konflikt stehen.
Klicken Sie auf Anfrage zur Zertifikatssignierung (Certificate Signing Request, CSR) angeben und dann auf Weiter. Die Zertifikatsdetails werden angezeigt.
Optional: Wenn Sie den automatisch generierten Zertifikatnamen überschreiben möchten, geben Sie den benutzerdefinierten Namen in das Feld Zertifikatname ein. Nachdem das Zertifikat erstellt wurde, können Sie den Zertifikatsnamen nicht mehr löschen oder wiederverwenden.
Optional: Wenn Sie einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auswählen möchten, geben Sie den Wert in das Feld Gültig bis ein.
Kopieren Sie die CSR-Anfrage und fügen Sie sie in das Feld Certificate CSR ein. Wenn Sie eine Datei mit dem CSR hochladen möchten, klicken Sie auf Durchsuchen und wählen Sie die Datei aus.
Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Wenn Sie das generierte Zertifikat aufrufen möchten, klicken Sie auf Zertifikat anzeigen und dann auf Anzeigen.
- Klicken Sie auf
.crt
-Datei herunterladen möchten, klicken Sie auf Zertifikat herunterladen.
, um das Zertifikat zu kopieren.
Wenn Sie das Zertifikat als - Optional: Klicken Sie auf Zertifikatskette herunterladen, um die Zertifikatskette herunterzuladen.
gcloud
gcloud privateca certificates create CERT_ID \
--issuer-pool POOL_ID \
--csr CSR_FILENAME \
--cert-output-file CERT_FILENAME \
--validity "P30D"
Ersetzen Sie Folgendes:
- CERT_ID: Die eindeutige Kennung des Zertifikats.
- POOL_ID: Der Name des CA-Pools.
- CSR_FILENAME: Die Datei, in der die PEM-codierte CSR gespeichert ist.
Das Flag --validity
gibt die Gültigkeitsdauer des Zertifikats an. Dies ist ein optionales Flag mit dem Standardwert „30 Tage“.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privateca certificates create.
Terraform
REST API
Generieren Sie eine CSR (Certificate Signing Request) mit Ihrer bevorzugten Methode, z. B.
openssl
.Im Folgenden finden Sie ein Beispiel für ein CSR, das für JSON codiert ist.
-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQ8wDQYDVQQK\nDAZKb29uaXgxEzARBgNVBAMMCmpvb25peC5uZXQwggEiMA0GCSqGSIb3DQEBAQUA\nA4IBDwAwggEKAoIBAQCnyy+5vcRQUBPqAse3ojmWjyUvhcJK6eLRXpp0teEUF5kg\nHb2ov8gYXb9sSim5fnvs09dGYDKibSrL4Siy7lA/NzMzWtKwyQQeLIQq/cLUJVcd\ndItJ0VRcqr+UPkTCii2vrdcocNDChHM1J8chDdl6DkpYieSTqZwlPcWlQBGAINmT\nT3Q0ZarIVM5l74j13WPuToGrhbVOIZXWxWqJjlHbBA8B/VKtSRCzM1qG60y8Pu2f\n6c78Dfg8+CGRzGwnz8aFS0Yf9czT9luNHSadS/RHjvE9FPZCsinz+6mJlXRcphi1\nKaHsDbstUAhse1h5E9Biyr9SFYRHxY7qRv9aSJ/dAgMBAAGgADANBgkqhkiG9w0B\nAQsFAAOCAQEAZz+I9ff1Rf3lTewXRUpA7nr5HVO1ojCR93Pf27tI/hvNH7z7GwnS\noScoJlClxeRqABOCnfmVoRChullb/KmER4BZ/lF0GQpEtbqbjgjkEDpVlBKCb0+L\nHE9psplIz6H9nfFS3Ouoiodk902vrMEh0LyDYNQuqFoyCZuuepUlK3NmtmkexlgT\n0pJg/5FV0iaQ+GiFXSZhTC3drfiM/wDnXGiqpbW9WmebSij5O+3BNYXKBUgqmT3r\nbryFydNq4qSOIbnN/MNb4UoKno3ve7mnGk9lIDf9UMPvhl+bT7C3OLQLGadJroME\npYnKLoZUvRwEdtZpbNL9QhCAm2QiJ6w+6g==\n-----END CERTIFICATE REQUEST-----
Zertifikat anfordern
HTTP-Methode und URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates?certificate_id=CERTIFICATE_ID
JSON-Text anfordern:
{ "lifetime": { "seconds": 3600, "nanos": 0 }, "pem_csr": "PEM_CSR" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/project-id/locations/location/certificateAuthorities/ca-id/certificates/certificate-id", "pemCertificate": "-----BEGIN CERTIFICATE-----...", "certificateDescription": {...} }
Zertifikat mit einem automatisch generierten Schlüssel anfordern
Console
Mit der Google Cloud Console können Sie Client- oder Server-TLS-Zertifikate generieren.
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf Zertifikat anfordern.
Wählen Sie eine Region aus. Die Region muss mit der Region des CA-Pools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen CA-Pool aus.
Klicken Sie auf Details manuell eingeben. Die Zertifikatsdetails werden angezeigt.
Optional: Ersetzen Sie den automatisch generierten Zertifikatsnamen durch einen benutzerdefinierten, eindeutigen Namen.
Optional: Wenn Sie einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auswählen möchten, geben Sie den Wert in das Feld Gültig bis ein.
Domainnamen hinzufügen
- Geben Sie unter Domainnamen hinzufügen im Feld Domainname 1 einen Domainnamen ein.
- Optional: Wenn Sie mehrere Domainnamen hinzufügen möchten, klicken Sie auf Element hinzufügen und geben Sie im Feld Domainname 2 einen weiteren Domainnamen ein.
Erweiterte Schlüsselverwendung
Optional: Wählen Sie unter Erweiterte Schlüsselverwendung je nach Anwendungsfall eine der folgenden Optionen aus:
- Client-TLS: Mit diesen Zertifikaten können Sie die Identität eines Anfragenden authentifizieren.
- Server-TLS: Mit diesen Zertifikaten können Sie die Identität eines Servers authentifizieren.
Klicken Sie auf Weiter.
Schlüsselgröße und Algorithmus konfigurieren
- Optional: Wählen Sie unter Schlüsselgröße und Algorithmus konfigurieren die Größe und den Algorithmus des Signaturschlüssels aus der Liste aus. Wenn Sie diesen Schritt überspringen, wird der RSASSA-PSS-2048-Bit-Schlüssel mit einem SHA-256-Digest verwendet. Informationen zum Auswählen eines Signaturschlüssels und -algorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Wenn Sie das generierte Zertifikat aufrufen möchten, klicken Sie auf Zertifikat anzeigen und dann auf Anzeigen.
- Optional: Klicken Sie auf Zertifikatskette herunterladen, um die PEM-codierte Zertifikatskette herunterzuladen.
Optional: Klicken Sie auf Privaten Schlüssel herunterladen, um den zugehörigen PEM-codierten privaten Schlüssel herunterzuladen.
gcloud
Wenn Sie die Funktion für automatisch generierte Schlüssel verwenden möchten, müssen Sie die Python Cryptographic Authority (PyCA)-Bibliothek installieren. Eine Anleitung zum Installieren der Pyca Cryptography-Bibliothek finden Sie unter Pyca Cryptography-Bibliothek einschließen.
Verwenden Sie den folgenden gcloud
-Befehl, um ein Zertifikat zu erstellen:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "CERTIFICATE_PROFILE"
Ersetzen Sie Folgendes:
- POOL_ID: Der Name des CA-Pools.
- KEY_FILENAME: Der Pfad, in den die generierte private Schlüsseldatei geschrieben werden muss.
- CERT_FILENAME: Der Pfad, unter dem die PEM-codierte Zertifikatskette geschrieben werden muss. Die Zertifikatskette ist von der Endentität bis zur Stamm-CA sortiert.
- DNS_NAME: Ein oder mehrere durch Kommas getrennte alternative DNS-Inhabernamen (Subject Alternative Names, SANs).
- CERTIFICATE_PROFILE: Die eindeutige Kennung des Zertifikatsprofils.
Verwenden Sie beispielsweise
leaf_server_tls
für den TLS-Endempfängerserver.
Der Befehl gcloud
verwendet die folgenden Flags:
--generate-key
: Erzeugt einen neuen privaten RSA-2048-Schlüssel auf Ihrem Computer.
Sie können auch eine beliebige Kombination der folgenden Flags verwenden:
--dns-san
: Hiermit können Sie eine oder mehrere durch Kommas getrennte DNS-SANs übergeben.--ip-san
: Hiermit können Sie eine oder mehrere durch Kommas getrennte IP-SANs übergeben.--uri-san
: Hiermit können Sie eine oder mehrere durch Kommas getrennte URI-SANs übergeben.--subject
: Damit können Sie einen X.501-Namen des Zertifikatsinhabers übergeben.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privateca certificates create.
Go
Richten Sie zur Authentifizierung beim CA-Dienst die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie zur Authentifizierung beim CA-Dienst die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung beim CA-Dienst die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Zertifikat mit einem vorhandenen Cloud KMS-Schlüssel anfordern
Sie können Zertifikate nur mit der Google Cloud CLI anfordern, wenn Sie einen Cloud KMS-Schlüssel verwenden.
gcloud
Wenn Sie mit einem Cloud KMS-Schlüssel ein Endentitäts-Server-TLS-Zertifikat erstellen möchten, führen Sie den folgenden Befehl aus:
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--kms-key-version projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/KEY_VERSION \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Ersetzen Sie Folgendes:
- POOL_ID: Der Name des CA-Pools.
- PROJECT_ID: die Projekt-ID
- LOCATION_ID: Der Speicherort des Schlüsselbunds.
- KEY_RING: Der Name des Schlüsselbunds, in dem sich der Schlüssel befindet.
- KEY: der Name des Schlüssels
- KEY_VERSION: Die Version des Schlüssels.
- CERT_FILENAME: Der Pfad zur PEM-codierten Zertifikatskettendatei. Die Datei der Zertifikatskette ist von der Endentität bis zum Stamm sortiert.
- DNS_NAME: Kommagetrennte DNS-SANs.
Zertifikat von einer bestimmten Zertifizierungsstelle in einem CA-Pool ausstellen
In diesem Abschnitt wird beschrieben, wie Sie Zertifikate von einer bestimmten Zertifizierungsstelle in einem CA-Pool ausstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf Zertifikat anfordern.
Wählen Sie eine Region aus. Die Region muss mit der Region des CA-Pools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen CA-Pool aus.
Klicken Sie auf Eine bestimmte Zertifizierungsstelle aus diesem Zertifizierungsstellenpool verwenden und wählen Sie dann eine Zertifizierungsstelle aus der Liste aus.
Wählen Sie die anderen Parameter wie im Abschnitt Zertifikat mit einem automatisch generierten Schlüssel anfordern oder Zertifikat mit einer CSR anfordern aus.
gcloud
Wenn Sie die Zertifikatsausstellung auf eine bestimmte Zertifizierungsstelle im CA-Pool ausrichten möchten, fügen Sie das Flag --ca
mit der CA_ID der Zertifizierungsstelle hinzu, die das Zertifikat ausstellen muss.
gcloud privateca certificates create \
--issuer-pool POOL_ID \
--ca CA_ID \
--generate-key \
--key-output-file KEY_FILENAME \
--cert-output-file CERT_FILENAME \
--dns-san "DNS_NAME" \
--use-preset-profile "leaf_server_tls"
Terraform
Zertifikat im Validierungsmodus anfordern
Wenn Sie ein Zertifikat im Validierungsmodus anfordern, wird ein ungesigniertes Testzertifikat erstellt. Dieses Testzertifikat ist nicht PEM-codiert und es fallen keine Kosten an. Sie können das Zertifikat zwar nicht herunterladen, aber anhand der Beschreibung des hypothetischen Zertifikats können Sie prüfen, ob Sie ein signiertes Zertifikat mit den von Ihnen ausgewählten Parametern ausstellen können.
So fordern Sie ein Zertifikat im Validierungsmodus an:
Console
Rufen Sie in der Google Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf Zertifikat anfordern.
Wählen Sie Validierungsmodus für die Beschreibung eines hypothetischen Zertifikats anstelle eines signierten Zertifikats verwenden aus.
Führen Sie dieselben Schritte aus, wie Sie bei einer Anfrage für ein signiertes Zertifikat ausführen würden.
Nächste Schritte
- Weitere Informationen zu Zertifikatprofilen
- Weitere Informationen zum Widerrufen von Zertifikaten
- Weitere Informationen zum Sortieren und Filtern von Zertifikaten
- Weitere Informationen zum Verwalten von Zertifikaten mit der Google Cloud CLI