Zertifikat anfordern
Auf dieser Seite wird beschrieben, wie Sie eine Zertifikatsanfrage in Certificate Authority Service erstellen.
Sie können ein Zertifikat mit den folgenden Methoden anfordern:
- Generieren Sie Ihren eigenen privaten oder öffentlichen Schlüssel und senden Sie eine Anfrage zur Zertifikatssignierung (Certificate Signing Request, CSR).
- Verwenden Sie einen privaten oder öffentlichen Schlüssel, der automatisch von CA Service generiert wurde.
- Vorhandenen Cloud Key Management Service-Schlüssel (Cloud KMS) verwenden
Hinweise
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „CA Service Certificate Anforderer“ (
roles/privateca.certificateRequester
) oder die IAM-Rolle „CA Service Certificate Manager“ (roles/privateca.certificateManager
) zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Ausstellen von Zertifikaten benötigen.Weitere Informationen zu den vordefinierten IAM-Rollen für CA Service finden Sie unter Zugriffssteuerung mit IAM.
Informationen zum Zuweisen einer IAM-Rolle zu einem Hauptkonto finden Sie unter Eine einzelne Rolle zuweisen.
Zertifikat mit einem CSR anfordern
Um ein Zertifikat zu erhalten, generieren Sie eine CSR, die Sie dann verwenden, um das Zertifikat anzufordern.
CSR generieren
Eine ausführliche Anleitung zum Generieren einer CSR mit OpenSSL finden Sie unter How togenerate CSR with OpenSSL. Sie können auch die folgende Beispielkonfigurationsdatei als Referenz verwenden, wenn Sie die CSR generieren.
So verwenden Sie die Beispielkonfigurationsdatei:
Erstellen Sie eine Konfigurationsdatei mit dem Namen
csr.cnf
und verwenden Sie die folgende Konfiguration.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 werden ein 2048-Bit-RSA-Schlüssel (mit Passphrase verschlüsselt) und eine entsprechende CSR generiert, die Folgendes enthalten:
- das Attribut
commonName
im Subjekt-DN - die Erweiterung „
subjectAlternativeName
“ - die Erweiterung „
keyUsage
“ (als kritisch markiert) - die Erweiterung „
extendedKeyUsage
“
Ändern Sie die Parameter nach Bedarf. Informationen zum Definieren von Erweiterungen für X.509-Zertifikate und CSRs im Konfigurationsdateiformat
x509v3_config
finden Sie in der OpenSSL-Dokumentation.- das Attribut
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
Dieser Befehl generiert die folgenden Dateien:
csr.pem
: Ihr CSR, der zum Senden an eine Zertifizierungsstelle bereit istkey.pem
: Ihr privater Schlüssel, den Sie sicher aufbewahren sollten
Verwenden Sie die Datei
csr.pem
in Ihrer Zertifikatsanfrage.
Zertifikatsanfrage mithilfe der CSR einreichen
So fordern Sie mithilfe der CSR ein Zertifikat 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 Zertifizierungsstellenpools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen Zertifizierungsstellenpool aus.
Optional: Wählen Sie eine bestimmte Zertifizierungsstelle aus dem Zertifizierungsstellenpool aus. Wenn Sie eine bestimmte Zertifizierungsstelle für die Zertifikatsausstellung auswählen, erstellen Sie eine Abhängigkeit von dieser Zertifizierungsstelle, wodurch das Rotieren von Zertifizierungsstellen erschwert wird.
Optional: Wählen Sie eine Zertifikatsvorlage aus. Achten Sie bei Verwendung einer Zertifikatsvorlage darauf, dass die Richtlinien der Zertifikatsvorlage nicht mit den Richtlinien des ausgewählten Zertifizierungsstellenpools in Konflikt stehen.
Klicken Sie auf Zertifizierungsanfrage bereitstellen und dann auf Weiter. Die Zertifikatsdetails werden angezeigt.
Optional: Wenn Sie den automatisch generierten Zertifikatsnamen überschreiben möchten, geben Sie den benutzerdefinierten Namen in das Feld Zertifikatname ein. Nachdem das Zertifikat erstellt wurde, kann der Zertifikatsname nicht mehr gelöscht oder wiederverwendet werden.
Optional: Wenn Sie einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auswählen möchten, geben Sie den Wert in das Feld Gültig für ein.
Kopieren Sie Ihre CSR und fügen Sie sie in das Feld Certificate CSR ein. Wenn Sie eine Datei mit der CSR hochladen möchten, klicken Sie auf Browse (Durchsuchen) und wählen Sie Ihre Datei aus.
Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Um das generierte Zertifikat zu sehen, klicken Sie auf Zertifikat ansehen 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 zum Herunterladen der Zertifikatskette auf Zertifikatskette herunterladen.
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 Zertifizierungsstellenpools.
- CSR_FILENAME: Die Datei, in der die PEM-codierte CSR gespeichert wird.
Das Flag --validity
definiert die Gültigkeitsdauer des Zertifikats. Dies ist ein optionales Flag, dessen Standardwert 30 Tage beträgt.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privatecacertificate create.
Terraform
REST API
Generieren Sie eine Anfrage zur Signierung des Zertifikats mit Ihrer bevorzugten Methode, z. B.
openssl
.Im Folgenden finden Sie ein Beispiel für einen CSR, der 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-----
Fordern Sie ein Zertifikat an.
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 der Anfrage:
{ "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 TLS-Zertifikate für Clients oder Server 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 Zertifizierungsstellenpools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen Zertifizierungsstellenpool aus.
Klicken Sie auf Details manuell eingeben. Die Zertifikatsdetails werden angezeigt.
Optional: Ersetzen Sie den automatisch generierten Zertifikatnamen durch einen benutzerdefinierten Namen, der eindeutig ist.
Optional: Wenn Sie einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auswählen möchten, geben Sie den Wert in das Feld Gültig für ein.
Domainnamen hinzufügen
- Geben Sie unter Domainname hinzufügen in das Feld Domainname 1 einen Domainnamen ein.
- Optional: Wenn Sie mehr als einen Domainnamen hinzufügen möchten, klicken Sie auf Element hinzufügen und geben Sie einen anderen Domainnamen in das Feld Domainname 2 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 Anforderers authentifizieren.
- Server-TLS: Mit diesen Zertifikaten können Sie die Identität eines Servers authentifizieren.
Klicken Sie auf Next (Weiter).
Schlüsselgröße und Algorithmus konfigurieren
- Optional: Wählen Sie unter Schlüsselgröße und Algorithmus konfigurieren die Größe des Signaturschlüssels und den Algorithmus aus der Liste aus. Wenn Sie diesen Schritt überspringen, wird ein RSASSA-PSS-2048-Bit-Schlüssel mit einem SHA-256-Digest verwendet. Informationen zur Auswahl eines Signaturschlüssels und Algorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Um das generierte Zertifikat zu sehen, klicken Sie auf Zertifikat ansehen und dann auf Anzeigen.
- Optional: Klicken Sie zum Herunterladen der PEM-codierten Zertifikatskette auf Zertifikatskette herunterladen.
Optional: Klicken Sie auf Privaten Schlüssel herunterladen, um den zugehörigen PEM-codierten privaten Schlüssel herunterzuladen.
gcloud
Wenn Sie das Feature für automatisch generierte Schlüssel verwenden möchten, müssen Sie die PyCA-Bibliothek (Python Cryptographic Authority) installieren. Eine Anleitung zum Installieren der Pyca Cryptography-Bibliothek finden Sie unter Pyca Cryptography-Bibliothek einbinden.
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 Zertifizierungsstellenpools.
- KEY_FILENAME: Der Pfad, in den die generierte private Schlüsseldatei geschrieben werden muss.
- CERT_FILENAME: Der Pfad, in den die PEM-codierte Zertifikatskettendatei geschrieben werden muss. Die Zertifikatskette ist von der Endentität bis zum Stamm sortiert.
- DNS_NAME: Ein oder mehrere durch Kommas getrennte DNS-Subject Alternative Names (SANs).
- CERTIFICATE_PROFILE: Die eindeutige Kennung des Zertifikatsprofils.
Verwenden Sie beispielsweise
leaf_server_tls
für TLS für den Endentitätsserver.
Der Befehl gcloud
erwähnt die folgenden Flags:
--generate-key
: Generiert 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 ein oder mehrere durch Kommas getrennte DNS-SANs übergeben.--ip-san
: Hiermit können Sie ein oder mehrere durch Kommas getrennte IP-SANs übergeben.--uri-san
: Hiermit können Sie ein oder mehrere durch Kommas getrennte URI-SANs übergeben.--subject
: Hiermit können Sie einen X.501-Namen des Zertifikatssubjekts übergeben.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privatecacertificate create.
Einfach loslegen (Go)
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie für die Authentifizierung beim CA Service Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie für die Authentifizierung beim CA Service 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 die Google Cloud CLI nur verwenden, um Zertifikate mit einem Cloud KMS-Schlüssel anzufordern.
gcloud
Führen Sie den folgenden Befehl aus, um mit einem Cloud KMS-Schlüssel ein TLS-Zertifikat eines Endentitätsservers zu erstellen:
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 Zertifizierungsstellenpools.
- 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 der PEM-codierten Zertifikatskettendatei. Die Datei der Zertifikatskette wird von der Endentität bis zum Stamm sortiert.
- DNS_NAME: kommagetrennte DNS-SANs.
Zertifikat von einer bestimmten Zertifizierungsstelle in einem Zertifizierungsstellenpool 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 Zertifizierungsstellenpools übereinstimmen, den Sie verwenden möchten.
Wählen Sie einen Zertifizierungsstellenpool aus.
Klicken Sie zum Auswählen einer Zertifizierungsstelle auf Bestimmte Zertifizierungsstelle aus diesem Zertifizierungsstellenpool verwenden und wählen Sie dann eine Zertifizierungsstelle aus der Liste aus.
Wählen Sie wie im Abschnitt Zertifikat über einen automatisch generierten Schlüssel anfordern oder Zertifikat über CSR anfordern weitere Parameter aus.
gcloud
Wenn Sie eine bestimmte Zertifizierungsstelle im Zertifizierungsstellenpool für die Zertifikatsausstellung als Ziel verwenden möchten, fügen Sie das Flag --ca
mit dem 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
Durch das Anfordern eines Zertifikats im Validierungsmodus wird ein nicht signiertes Testzertifikat erstellt. Dieses Testzertifikat ist nicht PEM-codiert und verursacht keine Kosten. Sie können das Zertifikat zwar nicht herunterladen, aber Sie können anhand der Beschreibung des hypothetischen Zertifikats bestätigen, dass Sie mit den von Ihnen ausgewählten Parametern erfolgreich ein signiertes Zertifikat 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 wie beim Anfordern eines signierten Zertifikats aus.
Nächste Schritte
- Zertifikatprofile
- Informationen zum Widerrufen von Zertifikaten
- Informationen zum Sortieren und Filtern von Zertifikaten
- Informationen zum Verwalten von Zertifikaten über die Google Cloud CLI