Root-Zertifizierungsstelle erstellen
Auf dieser Seite wird beschrieben, wie Sie eine Stammzertifizierungsstelle in einem Zertifizierungsstellenpool erstellen.
Eine Stamm-Zertifizierungsstelle steht an der Spitze einer Public-Key-Infrastruktur (PKI) und ist für die Bildung des Trust Anchors der PKI verantwortlich. Um ordnungsgemäß teilzunehmen und Zertifikate in einer PKI verwenden, ein Gerät, eine Software oder eine Komponente muss der PKI vertrauen. Dazu muss das Gerät, die Software oder die Komponente so konfiguriert werden, dass sie der Stammzertifizierungsstelle vertraut. Daher sind alle von der Root-Zertifizierungsstelle ausgestellten Zertifikate vertrauenswürdig.
Hinweise
- Sie benötigen die IAM-Rolle „Operation Manager für CA Service“ (
roles/privateca.caManager
) oder „CA Service Admin“ (roles/privateca.admin
). Weitere Informationen finden Sie unter IAM-Richtlinien konfigurieren. - Erstellen Sie einen CA-Pool.
- Legen Sie die CA-Einstellungen fest.
Stamm-CA erstellen
Eine Stammzertifizierungsstelle hat ein selbst signiertes Zertifikat, das Sie in den Trust Stores Ihrer Clients verteilen müssen. Das Zertifikat der Stamm-CA befindet sich oben in der Zertifikatskette. Keine andere Zertifizierungsstelle kann das CA-Zertifikat widerrufen. Die CRL der Stamm-CA gilt nur für die anderen Zertifikate, die von der Stamm-CA ausgestellt wurden, nicht für sie selbst.
Console
So erstellen Sie eine Root-CA:
Rufen Sie die Seite Certificate Authority Service (Zertifizierungsstelle) in in der Google Cloud Console.
Klicken Sie auf den Tab CA-Manager.
Klicken Sie auf CA erstellen.
CA-Typ auswählen
So konfigurieren Sie die dauerhaften Einstellungen der Zertifizierungsstelle, z. B. Stufe, Speicherort, Lebensdauer und Betriebsstatus bei der Erstellung:
- Wählen Sie Stamm-CA aus.
- Geben Sie im Feld Gültig bis die Dauer ein, für die die vom CA-Zertifikat ausgestellten Zertifikate gültig sein sollen.
- Optional: Wählen Sie eine Stufe für die Zertifizierungsstelle aus.
- Klicken Sie auf Region und wählen Sie in der Liste die Region aus, in der Sie den erstellen Sie die Zertifizierungsstelle. Wir empfehlen, die Zertifizierungsstelle in der Nähe von für die Clients Ihrer Anwendung. Weitere Informationen finden Sie unter Das Beste auswählen Standort.
Optional: Wählen Sie den Betriebsstatus der zu erstellenden Zertifizierungsstelle aus.
Optional: Klicken Sie auf Zertifikatsprofil. Wählen Sie in der Liste das Zertifikatsprofil aus, das der Art der Zertifikate entspricht, die die Zertifizierungsstelle ausstellen soll.
Klicken Sie auf Weiter.
- Geben Sie im Feld Organisation (O) den Namen Ihres Unternehmens ein.
- Optional: Geben Sie im Feld Organisationseinheit (OE) die Abteilung oder Geschäftseinheit des Unternehmens ein.
- Optional: Geben Sie im Feld Ländername einen zweistelligen Ländercode ein.
- Optional: Geben Sie im Feld Name des Bundeslandes den Namen Ihres Bundeslandes ein.
- Optional: Geben Sie in das Feld Name des Ortsteils den Namen Ihrer Stadt ein.
- Geben Sie im Feld Allgemeiner CA-Name (CN) den Namen der Zertifizierungsstelle ein.
- Geben Sie im Feld Pool-ID den Namen des CA-Pools ein. Sie können die Zertifizierungsstellenpool nach dem Erstellen der Zertifizierungsstelle.
- Klicken Sie auf Weiter.
- Wählen Sie den Algorithmus aus, der Ihren Anforderungen am besten entspricht. Weitere Informationen zur Auswahl des geeigneten Schlüsselalgorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Weiter.
Die folgenden Schritte sind optional. Wenn Sie diese Schritte überspringen, gelten die Einstellungen.
- Wählen Sie aus, ob Sie eine von Google oder eine selbstverwaltete Cloud Storage-Bucket.
- Wählen Sie aus, ob Sie die Veröffentlichung des Zertifikats deaktivieren möchten Sperrlisten (CRLs) und CA-Zertifikate für den Cloud Storage Bucket.
- Klicken Sie auf Weiter.
Wenn Sie keinen selbstverwalteten Cloud Storage-Bucket auswählen, CA Service erstellt einen von Google verwalteten Bucket im selben als Zertifizierungsstelle festlegen.
Die Veröffentlichung von CRL und CA-Zertifikat in einem Cloud Storage-Bucket ist standardmäßig aktiviert. Wenn Sie diese Einstellungen deaktivieren möchten, klicken Sie auf die Ein-/Aus-Schaltflächen.
Die folgenden Schritte sind optional.
So fügen Sie der Zertifizierungsstelle Labels hinzu:
- Klicken Sie auf Element hinzufügen.
- Geben Sie im Feld Schlüssel 1 den Labelschlüssel ein.
- Geben Sie im Feld Wert 1 den Labelwert ein.
- Wenn Sie ein weiteres Label hinzufügen möchten, klicken Sie auf Element hinzufügen. Fügen Sie dann den Labelschlüssel und den Labelwert hinzu, wie in Schritt 2 und 3 beschrieben.
- Klicken Sie auf Weiter.
Prüfen Sie alle Einstellungen sorgfältig und klicken Sie dann auf Erstellen, um die Zertifizierungsstelle zu erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um einen Zertifizierungsstellenpool zu erstellen:
gcloud privateca pools create POOL_ID
Ersetzen Sie POOL_ID durch den Namen des Zertifizierungsstellenpools.
Weitere Informationen finden Sie unter CA-Pool erstellen.
Weitere Informationen zu diesem
gcloud
-Befehl finden Sie unter gcloud privateca pools create.Erstellen Sie in dem von Ihnen erstellten CA-Pool eine neue Stamm-CA.
gcloud privateca roots create ROOT_CA_ID --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Ersetzen Sie Folgendes:
- ROOT_CA_ID: Der Name der Zertifizierungsstelle.
- POOL_ID: Der Name des CA-Pools.
- KEY_ALGORITHM: Der Algorithmus, der zum Erstellen eines Cloud KMS-Schlüssels verwendet werden soll. Dieses Flag ist optional. Wenn Sie dieses Flag nicht angeben, wird der Schlüsselalgorithmus standardmäßig auf
rsa-pkcs1-4096-sha256
festgelegt. Für Weitere Informationen finden Sie unter Flag „--key-algorithm“.
Standardmäßig wird die Zertifizierungsstelle im Status
STAGED
erstellt. So aktivieren Sie eine Zertifizierungsstelle durch Fügen Sie standardmäßig das Flag--auto-enable
ein.Wenn Sie einen vom Kunden verwalteten Cloud Storage-Bucket zum Veröffentlichen von CA-Zertifikaten und CRLs verwenden möchten, fügen Sie dem Befehl
--bucket bucket-name
hinzu. Ersetzen Sie bucket-name durch den Name des Cloud Storage-Bucket.Führen Sie den folgenden Befehl aus, um eine vollständige Liste der Einstellungen aufzurufen:
gcloud privateca roots create --help
Terraform
Verwenden Sie das folgende Beispiel, um eine Root-Zertifizierungsstelle mit einem Schlüssel zu erstellen, der Google gehört und von Google verwaltet wird. Konfiguration:
Verwenden Sie die folgende Beispielkonfiguration, um eine Root-CA mit einem selbst verwalteten Schlüssel zu erstellen:
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 Standardanmeldedaten für Anwendungen ein, um sich bei CA Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST API
Erstellen Sie eine Stamm-CA.
HTTP-Methode und URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities?certificate_authority_id=ROOT_CA_ID
JSON-Text anfordern:
{ "type": "SELF_SIGNED", "lifetime": { "seconds": 315576000, "nanos": 0 }, "config": { "subject_config": { "subject": { "organization": "ORGANIZATION_NAME", "common_name": "COMMON_NAME" } }, "x509_config":{ "ca_options":{ "is_ca":true }, "key_usage":{ "base_key_usage":{ "cert_sign":true, "crl_sign":true } } } }, "key_spec":{ "algorithm":"RSA_PKCS1_4096_SHA256" } }
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/operations/operation-UUID", "metadata": {...}, "done": false }
Fragen Sie den Vorgang ab, bis er abgeschlossen ist.
HTTP-Methode und URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
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/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Nachdem Sie bestätigt haben, dass die Zertifizierungsstelle wie erwartet funktioniert, können Sie sie für folgende Aktionen aktivieren: mit dem Ausstellen von Zertifikaten mit Load-Balancing für den Zertifizierungsstellenpool beginnen.
Stamm-CA aktivieren
gcloud
Führen Sie den folgenden gcloud
-Befehl aus, um eine Root-Zertifizierungsstelle zu aktivieren:
gcloud privateca roots enable ROOT_CA_ID --pool=POOL_ID
Ersetzen Sie Folgendes:
- ROOT_CA_ID: Der Name der Zertifizierungsstelle.
- POOL_ID: Der Name des Zertifizierungsstellenpools.
Terraform
Wenn Sie eine Root-Zertifizierungsstelle mit Terraform erstellen, wird sie beim Erstellen aktiviert. Wenn Sie eine Stamm-CA im Status STAGED
erstellen möchten, legen Sie beim Erstellen der CA das Feld desired_state
auf STAGED
fest.
Sie können das Feld desired_state
nach dem Erstellen der Zertifizierungsstelle auf ENABLED
oder DISABLED
festlegen.
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 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 Standardanmeldedaten für Anwendungen ein, um sich bei CA Service zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST API
Aktivieren Sie die Zertifizierungsstelle, um Zertifikate aus dem CA-Pool auszustellen.
HTTP-Methode und URL:
POST https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/ROOT_CA_ID:enable
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/operations/operation-UUID", "metadata": {...}, "done": false }
Fragen Sie den Vorgang ab, bis er abgeschlossen ist.
HTTP-Methode und URL:
GET https://privateca.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-UUID
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/operations/operation-UUID", "metadata": {...}, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.security.privateca.v1.CertificateAuthority", "name": "...", } }
Zertifizierungsstelle testen
Wenn Sie prüfen möchten, ob eine Zertifizierungsstelle Zertifikate ausstellen kann, fordern Sie ein Zertifikat bei
den zugehörigen CA-Pool und geben Sie explizit den Namen der Zertifizierungsstelle an, die Sie verwenden möchten
mit dem Flag --ca
testen.
Sie können mit den folgenden Methoden ein Zertifikat von einem CA-Pool anfordern:
- Lassen Sie einen privaten oder öffentlichen Schlüssel vom CA-Dienst erstellen.
- Generieren Sie Ihren eigenen privaten oder öffentlichen Schlüssel und senden Sie eine Anfrage zur Zertifikatssignierung (Certificate Signing Request, CSR).
Es ist einfacher, mit einem automatisch generierten privaten Schlüssel oder öffentlichen Schlüssel eine Zertifikat von einer Zertifizierungsstelle in einem CA-Pool. Dieser Abschnitt enthält Informationen zum Testen einer Zertifizierungsstelle mit dieser Methode.
Wenn Sie einen automatisch generierten privaten oder öffentlichen Schlüssel verwenden möchten, um ein Zertifikat von einer Zertifizierungsstelle in einem CA-Pool anzufordern, führen Sie den folgenden gcloud
-Befehl aus:
gcloud privateca certificates create \
--issuer-pool=POOL_ID \
--ca=ROOT_CA_ID \
--generate-key \
--key-output-file=KEY_FILENAME \
--cert-output-file=CERT_FILENAME \
--dns-san=DNS_NAME
Ersetzen Sie Folgendes:
- POOL_ID: Der Name des CA-Pools.
- ROOT_CA_ID: Die eindeutige Kennung der Zertifizierungsstelle, die Sie testen möchten.
- KEY_FILENAME: Die Datei, in der der generierte Schlüssel im PEM-Format geschrieben wird.
- CERT_FILENAME: Die Datei, in die die resultierende PEM-codierte Zertifikatkettendatei geschrieben wird. Die Zertifikatskette ist in der Reihenfolge vom Blatt bis zum Stamm angeordnet.
DNS_NAME: Ein oder mehrere durch Kommas getrennte alternative DNS-Inhabernamen (Subject Alternative Names, SANs).
Mit dem Flag
--generate-key
wird auf Ihrem Computer ein neuer privater RSA-2048-Schlüssel generiert.
So fordern Sie mit einer Anfrage zur Zertifikatssignierung (Certificate Signing Request, CSR) ein Zertifikat von einer Zertifizierungsstelle in einem CA-Pool oder weitere Informationen zum Anfordern von Zertifikaten finden Sie unter Zertifikat anfordern und ausgestellte Zertifikate ansehen
Zertifizierungsstellen klonen
Führen Sie den folgenden Befehl aus, um eine vorhandene Zertifizierungsstelle zu klonen, um sie zu erneuern, oder um eine neue Zertifizierungsstelle mit derselben Konfiguration zu erstellen:
gcloud privateca roots create NEW_CA_ID --pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Ersetzen Sie Folgendes:
- NEW_CA_ID: Die eindeutige Kennung der neuen Zertifizierungsstelle.
- POOL_ID: Der Name des CA-Pools, in dem Sie die neue Zertifizierungsstelle erstellen möchten.
Das Flag --from-ca
wird für die Erstellung von Stamm- und untergeordneten Zertifizierungsstellen unterstützt. Die vorhandene Zertifizierungsstelle muss sich im selben CA-Pool wie die neue Zertifizierungsstelle befinden.
Das Flag --key-algorithm
kopiert die gesamte CA-Konfiguration von der vorhandenen Zertifizierungsstelle
(außer die Cloud KMS-Schlüsselversion und den Cloud Storage-Bucket). Sie können jedoch weiterhin alle Konfigurationswerte in der neuen Zertifizierungsstelle überschreiben, indem Sie das entsprechende Flag explizit angeben. Sie können beispielsweise weiterhin `--subject SUBJECT angeben, um ein neues Betrefffeld zu verwenden.
Wenn Sie das Flag --key-algorithm
weglassen, wird der Algorithmus standardmäßig so verwendet:
rsa-pkcs1-4096-sha256
für Stamm-CAs.rsa-pkcs1-2048-sha256
für untergeordnete Zertifizierungsstellen.
Weitere Informationen zu diesem gcloud
-Befehl finden Sie unter gcloud privateca roots create.
Nächste Schritte
- Weitere Informationen zum Erstellen einer untergeordneten Zertifizierungsstelle
- Informationen zum Anfordern von Zertifikaten
- Weitere Informationen zu Vorlagen und Richtlinien für die Ausstellung