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:
- Eigenen privaten oder öffentlichen Schlüssel generieren und Zertifikatsignierung einreichen Anfrage (CSR):
- Verwenden Sie einen privaten oder öffentlichen Schlüssel, der von CA Service automatisch generiert wurde.
- Vorhandenen Cloud Key Management Service-Schlüssel (Cloud KMS) verwenden
Hinweise
Wenden Sie sich an Ihren Administrator, um die Berechtigungen zu erhalten, die Sie zum Ausstellen von Zertifikaten benötigen um Ihnen den Zertifikatanfrageer für CA Service (
roles/privateca.certificateRequester
) zu gewähren, oder IAM des CA Service Certificate Manager (roles/privateca.certificateManager
) Rolle.Weitere Informationen zu den vordefinierten IAM-Rollen für Weitere Informationen zu CA Service 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 einer CSR mit OpenSSL finden Sie Siehe CSR mit OpenSSL generieren. Sie können beim Generieren auch die folgende Beispielkonfigurationsdatei als Referenz verwenden. an Ihren Kundenbetreuer wenden können.
So verwenden Sie die Beispielkonfigurationsdatei:
Erstellen Sie mit der folgenden Konfiguration eine Konfigurationsdatei mit dem Namen
csr.cnf
.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
Dieses Beispiel generiert einen 2048-Bit-RSA-Schlüssel (Passphrasenverschlüsselung) und eine entsprechende CSR Enthält Folgendes:
- das Attribut
commonName
im Betreff-DN - Erweiterung
subjectAlternativeName
- Die Erweiterung
keyUsage
(als kritisch markiert) extendedKeyUsage
-Erweiterung
Ändern Sie die Parameter nach Bedarf. Konfigurationsdatei
x509v3_config
verwenden Format zur Definition von Erweiterungen für X.509-Zertifikate und CSRs 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
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 der 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 Zertifizierungsstellenpool aus.
Optional: Wählen Sie eine bestimmte Zertifizierungsstelle aus dem Zertifizierungsstellenpool aus. Wenn Sie eine bestimmte CA für die Zertifikatsausstellung erstellen, erstellen Sie eine Abhängigkeit von dieser Zertifizierungsstelle, wodurch es schwieriger wird, Zertifizierungsstellen rotieren.
Optional: Wählen Sie eine Zertifikatsvorlage aus. Wenn Sie eine Zertifikatsvorlage verwenden, dass die Richtlinien der Zertifikatsvorlage nicht mit dem Richtlinien des ausgewählten Zertifizierungsstellenpools.
Klicken Sie auf Certificate Signing Request (CSR) angeben und dann auf Weiter. Die Zertifikatsdetails werden angezeigt.
Optional: Automatisch generiertes Zertifikat überschreiben Namen haben, geben Sie den benutzerdefinierten Namen in das Feld Zertifikatname ein. Nach dem Zertifikat erstellt wurde, können Sie es nicht löschen oder wiederverwenden Namen.
Optional: Um einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auszuwählen, geben Sie den Wert im Feld Gültig für.
Kopieren Sie die CSR-Anfrage und fügen Sie sie in das Feld Certificate CSR ein. Wenn Sie möchten Um eine Datei mit der Zertifikatsanfrage hochzuladen, klicken Sie auf Durchsuchen und wählen Sie Ihre Datei aus.
Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Klicken Sie auf Zertifikat ansehen und dann auf Ansehen, um das generierte Zertifikat aufzurufen.
- 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 CA-Pools.
- CSR_FILENAME: Die Datei, in der die PEM-codierte CSR gespeichert ist.
Das Flag --validity
definiert die Gültigkeitsdauer des Zertifikats. Es ist ein optionales Flag, dessen Standardwert 30 Tage beträgt.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privateca certificate create.
Terraform
REST API
Generieren Sie mit Ihrer bevorzugten Methode einen Zertifizierungsantrag (Certificate Signing Request, CSR) wie
openssl
.Im Folgenden sehen Sie eine Beispiel-CSR, die 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 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 Zertifizierungsstellenpool aus.
Klicken Sie auf Details manuell eingeben. Die Zertifikatsdetails werden angezeigt.
Optional: Ersetzen Sie den automatisch generierten Zertifikatnamen durch einen benutzerdefinierten der eindeutig ist.
Optional: Um einen benutzerdefinierten Gültigkeitszeitraum für das Zertifikat auszuwählen, geben Sie den Wert im Feld Gültig für.
Domainnamen hinzufügen
- Geben Sie unter Domainnamen hinzufügen im Feld Domainname 1 einen Domainnamen ein.
- Optional: Wenn Sie mehr als einen Domainnamen hinzufügen möchten, klicken Sie auf Hinzufügen Element und geben Sie einen weiteren Domainnamen in das Feld Domainname 2 ein.
Erweiterte Schlüsselverwendung
Optional: Wählen Sie unter Erweiterte Schlüsselverwendung eine der folgenden Optionen aus: je nach Anwendungsfall:
- 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 authentifizieren. eines Servers.
Klicken Sie auf Weiter.
Schlüsselgröße und Algorithmus konfigurieren
- Optional: Wählen Sie unter Schlüsselgröße und Algorithmus konfigurieren die gewünschte Signatur aus. Schlüsselgröße und Algorithmus aus der Liste. Wenn Sie diesen Schritt überspringen, Es wird ein RSASSA-PSS-2048-Bit-Schlüssel mit einem SHA-256-Digest verwendet. Weitere Informationen Informationen zur Auswahl eines Signaturschlüssels und Algorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Zertifikat generieren.
Signiertes Zertifikat herunterladen
- Klicken Sie auf Zertifikat ansehen und dann auf Ansehen, um das generierte Zertifikat aufzurufen.
- Optional: Klicken Sie zum Herunterladen der PEM-codierten Zertifikatskette auf Zertifikatskette herunterladen
Optional: Klicken Sie zum Herunterladen des zugehörigen PEM-codierten privaten Schlüssels auf Laden Sie den privaten Schlüssel herunter.
gcloud
Um die Funktion für automatisch generierte Schlüssel nutzen zu können, müssen Sie die Python- PyCA-Bibliothek (Cryptographic Authority, PyCA). 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 CA-Pools.
- KEY_FILENAME: Der Pfad, in dem die generierte muss eine private Schlüsseldatei geschrieben werden.
- CERT_FILENAME: der Pfad, unter dem die PEM-codierte Zertifikatskettendatei geschrieben werden muss. Die Zertifikatskette ist von der Endentität zum Stamm.
- DNS_NAME: Ein oder mehrere durch Kommas getrennte alternative DNS-Inhabernamen (Subject Alternative Names, SANs).
- CERTIFICATE_PROFILE: Die eindeutige Kennung von
das Zertifikatsprofil.
Verwenden Sie beispielsweise
leaf_server_tls
für den TLS-Endknotenserver.
Im Befehl gcloud
werden die folgenden Flags angegeben:
--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 eine oder mehrere durch Kommas getrennte DNS-SANs übergeben.--ip-san
: Hiermit können Sie einen oder mehrere durch Kommas getrennte IP-SANs übergeben.--uri-san
: Hiermit können Sie einen oder mehrere durch Kommas getrennte URI-SANs übergeben.--subject
: Damit übergeben Sie den X.501-Namen des Zertifikats. Person.
Weitere Informationen zum Befehl gcloud privateca certificates create
finden Sie unter gcloud privateca certificates create.
Go
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei CA Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei CA Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei CA Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Zertifikat mit einem vorhandenen Cloud KMS-Schlüssel anfordern
Sie können nur mit der Google Cloud CLI Zertifikate mit einem Cloud KMS-Schlüssel anfordern.
gcloud
So erstellen Sie mithilfe eines Cloud KMS-Schlüssels ein TLS-Zertifikat für den Server der Endentität: 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 Zertifizierungsstellenpools.
- PROJECT_ID: die Projekt-ID
- LOCATION_ID: Der Speicherort des Schlüsselbunds.
- KEY_RING: der Name des Schlüsselbunds, in dem der Schlüssel befindet.
- KEY: der Name des Schlüssels
- KEY_VERSION: Die Version des Schlüssels.
- CERT_FILENAME: Pfad des PEM-codierten Zertifikatkettendatei. Die Zertifikatkettendatei wird nach der Endentität sortiert. auf Root-Ebene.
- 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 Zertifizierungsstellenpool 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 Zertifizierungsstellenpool 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 wie im Abschnitt Zertifikat mit einem automatisch generierten Schlüssel anfordern oder Zertifikat mit einer CSR anfordern andere Parameter aus. .
gcloud
Wenn Sie die Zertifikatsausstellung auf eine bestimmte Zertifizierungsstelle im CA-Pool ausrichten möchten, fügen Sie den Parameter
Das Flag --ca
mit der CA_ID der Zertifizierungsstelle, 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 die Beschreibung des hypothetischen Zertifikats können Sie bestätigen, dass Sie ein signiertes Zertifikat mit dem von Ihnen ausgewählten Parameter.
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, um ein signiertes Zertifikat anzufordern.
Nächste Schritte
- Weitere Informationen zu Zertifikatprofilen
- Weitere Informationen zum Widerrufen von Zertifikaten
- Informationen zum Sortieren und Filtern von Zertifikaten
- Zertifikate mit der Google Cloud CLI verwalten