Root-Zertifizierungsstelle erstellen
Auf dieser Seite wird beschrieben, wie Sie eine Stammzertifizierungsstelle in einem CA-Pool erstellen.
Eine Root-Zertifizierungsstelle befindet sich an der Spitze einer Public-Key-Infrastruktur-Hierarchie (PKI) und ist für die Bildung des Trust Anchors der PKI verantwortlich. Damit ein Gerät, eine Software oder eine Komponente ordnungsgemäß an einer PKI teilnehmen und Zertifikate in einer PKI verwenden kann, muss es der PKI vertrauen. Dazu wird das Gerät, die Software oder die Komponente so konfiguriert, dass sie der Stamm-CA vertraut. Daher wird allen von der Root-Zertifizierungsstelle ausgestellten Zertifikaten vertraut.
Hinweise
- Sie benötigen die IAM-Rolle „Operation Manager für CA Service“ (
roles/privateca.caManager
) oder „CA Service-Administrator“ (roles/privateca.admin
). Weitere Informationen finden Sie unter IAM-Richtlinien konfigurieren. - Erstellen Sie einen CA-Pool.
- Einstellungen für die Kampagnenautomatisierung festlegen:
Stamm-CA erstellen
Eine Root-Zertifizierungsstelle hat ein selbst signiertes Zertifikat, das Sie an die Vertrauensspeicher 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 Zertifikatsperrliste der Stamm-CA gilt nur für die anderen Zertifikate, die von der Stamm-CA ausgestellt wurden, nicht für die Stamm-CA selbst.
Sie können eine Root-CA entweder in einem vorhandenen oder in einem neuen CA-Pool erstellen. In der folgenden Anleitung wird ein vorhandener Pool verwendet.
Console
So erstellen Sie eine Root-CA in einem vorhandenen CA-Pool:
Rufen Sie in derGoogle Cloud Console die Seite Certificate Authority Service auf.
Klicken Sie auf den Tab CA Manager.
Klicken Sie auf den Einblendpfeil CA erstellen
und wählen Sie dann CA in einem vorhandenen CA-Pool erstellen aus.
CA-Pool auswählen
Wählen Sie einen vorhandenen CA-Pool aus der Liste aus und klicken Sie auf Weiter.
CA-Typ auswählen
- Wählen Sie unter Typ die Option Root-CA aus.
- Geben Sie im Feld Gültig bis den Zeitraum ein, für den die von der Zertifizierungsstelle ausgestellten Zertifikate gültig sein sollen.
- Wählen Sie unter Initialisierter Status den Betriebsstatus der zu erstellenden CA aus.
- Klicken Sie auf Weiter.
- Geben Sie im Feld Organisation (O) den Namen Ihres Unternehmens ein.
- Optional: Geben Sie im Feld Organisationseinheit die Unterabteilung oder Geschäftseinheit des Unternehmens ein.
- Optional: Geben Sie im Feld Ländername (C) einen zweistelligen Ländercode ein.
- Optional: Geben Sie im Feld Name des Bundeslands den Namen Ihres Bundeslands ein.
- Optional: Geben Sie im Feld Ortsname den Namen Ihrer Stadt ein.
- Geben Sie im Feld Allgemeiner CA-Name (CN) den CA-Namen ein.
- Klicken Sie auf Weiter.
- Wählen Sie den Schlüsselalgorithmus aus, der Ihren Anforderungen am besten entspricht. Informationen zur Auswahl des geeigneten Schlüsselalgorithmus finden Sie unter Schlüsselalgorithmus auswählen.
- Klicken Sie auf Weiter.
- Wählen Sie aus, ob Sie einen von Google verwalteten oder einen vom Kunden verwalteten Cloud Storage-Bucket verwenden möchten.
- Für einen von Google verwalteten Cloud Storage-Bucket erstellt CA Service einen von Google verwalteten Bucket am selben Standort wie die CA.
- Klicken Sie für einen vom Kunden verwalteten Cloud Storage-Bucket auf „Durchsuchen“ und wählen Sie einen der vorhandenen Cloud Storage-Buckets aus.
- Klicken Sie auf Weiter.
Die folgenden Schritte sind optional.
So fügen Sie der CA 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 -wert hinzu, wie in den Schritten 2 und 3 beschrieben.
- Klicken Sie auf Weiter.
Prüfen Sie alle Einstellungen sorgfältig und klicken Sie dann auf Fertig, um die Zertifizierungsstelle zu erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um eine neue Root-CA in einem vorhandenen CA-Pool zu erstellen:
gcloud privateca roots create ROOT_CA_ID \ --location=LOCATION \ --pool=POOL_ID \ --key-algorithm=KEY_ALGORITHM \ --subject="CN=my-ca, O=Test LLC"
Ersetzen Sie Folgendes:
- ROOT_CA_ID: der Name der CA.
- LOCATION: der Standort des CA-Pools.
- 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 standardmäßig der Schlüsselalgorithmus
rsa-pkcs1-4096-sha256
verwendet. Weitere Informationen finden Sie unter --key-algorithm-Flag.
Standardmäßig wird die CA im Status
STAGED
erstellt. Fügen Sie das Flag--auto-enable
ein, um eine CA standardmäßig zu aktivieren.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 Namen des Cloud Storage-Bucket.Führen Sie den folgenden Befehl aus, um die vollständige Liste der Einstellungen aufzurufen:
gcloud privateca roots create --help
Terraform
Wenn Sie eine Root-Zertifizierungsstelle mit einem Verschlüsselungsschlüssel erstellen möchten, der auf Google Cloud basiert, verwenden Sie die folgende Beispielkonfiguration:
Verwenden Sie die folgende Beispielkonfiguration, um eine Root-CA mit einem selbst verwalteten Schlüssel zu erstellen:
Go
Richten Sie zur Authentifizierung beim CA Service 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 Service 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 Service die Standardanmeldedaten für Anwendungen ein. 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 eine JSON-Antwort ähnlich wie diese 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 eine JSON-Antwort ähnlich wie diese 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 aktivieren, damit sie Load-Balancing-Zertifikate für den CA-Pool ausstellen kann.
Stamm-CA aktivieren
gcloud
Führen Sie den folgenden gcloud
-Befehl aus, um eine Stamm-CA zu aktivieren:
gcloud privateca roots enable ROOT_CA_ID --location=LOCATION --pool=POOL_ID
Ersetzen Sie Folgendes:
- ROOT_CA_ID: der Name der CA.
- LOCATION: der Standort des CA-Pools. Eine vollständige Liste der Standorte finden Sie unter Standorte.
- POOL_ID: der Name des CA-Pools.
Terraform
Wenn Sie eine Stamm-CA mit Terraform erstellen, wird sie bei der Erstellung 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 der Erstellung der CA auf ENABLED
oder DISABLED
festlegen.
Go
Richten Sie zur Authentifizierung beim CA Service 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 Service 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 Service die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST API
Aktivieren Sie die CA, 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 eine JSON-Antwort ähnlich wie diese 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 eine JSON-Antwort ähnlich wie diese 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": "...", } }
CA testen
Wenn Sie prüfen möchten, ob eine Zertifizierungsstelle Zertifikate ausstellen kann, fordern Sie ein Zertifikat vom zugehörigen Zertifizierungsstellenpool an und geben Sie mit dem Flag --ca
explizit den Namen der Zertifizierungsstelle an, die Sie testen möchten.
Sie können ein Zertifikat aus einem CA-Pool mit den folgenden Methoden anfordern:
- Lassen Sie von CA Service einen privaten oder öffentlichen Schlüssel für sich erstellen.
- Generieren Sie Ihren eigenen privaten oder öffentlichen Schlüssel und senden Sie eine Anfrage für die Signierung des Zertifikats (Certificate Signing Request, CSR).
Es ist einfacher, einen automatisch generierten privaten oder öffentlichen Schlüssel zu verwenden, um ein Zertifikat von einer Zertifizierungsstelle in einem CA-Pool anzufordern. In diesem Abschnitt finden Sie Informationen zum Testen einer CA 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 \
--issuer-location=ISSUER_LOCATION \
--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.
- ISSUER_LOCATION: Der Speicherort der Zertifizierungsstelle (Certificate Authority, CA), die das digitale Zertifikat ausgestellt hat.
- ROOT_CA_ID: die eindeutige Kennung der CA, die Sie testen möchten.
- KEY_FILENAME: Die Datei, in die der generierte Schlüssel im PEM-Format geschrieben wird.
- CERT_FILENAME: Die Datei, in die die resultierende PEM-codierte Zertifikatskettendatei geschrieben wird. Die Reihenfolge der Zertifikatskette ist vom Blatt zum Stamm.
DNS_NAME: Ein oder mehrere durch Kommas getrennte alternative DNS-Antragstellernamen (Subject Alternative Names, SANs).
Mit dem Flag
--generate-key
wird ein neuer privater RSA-2048-Schlüssel auf Ihrem Computer generiert.
Wenn Sie ein Zertifikat mit einer Zertifikatsignierungsanfrage (Certificate Signing Request, CSR) von einer Zertifizierungsstelle in einem CA-Pool anfordern möchten oder weitere Informationen zum Anfordern von Zertifikaten benötigen, lesen Sie den Abschnitt 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 \
--location=LOCATION \
--pool=POOL_ID \
--from-ca=EXISTING_CA_ID \
--key-algorithm "ec-p384-sha384"
Ersetzen Sie Folgendes:
- NEW_CA_ID: Die eindeutige Kennung der neuen CA.
- LOCATION: der Standort des CA-Pools.
- POOL_ID: der Name des CA-Pools, in dem Sie die neue CA erstellen möchten.
- EXISTING_CA_ID: Die ID der Quell-CA oder die voll qualifizierte Kennzeichnung für die Quell-CA.
Das Flag --from-ca
wird für die Erstellung von Stamm- und untergeordneten CAs unterstützt. Die vorhandene CA muss sich im selben CA-Pool wie die neue CA befinden.
Mit dem Flag --key-algorithm
wird die gesamte CA-Konfiguration aus der vorhandenen CA kopiert (mit Ausnahme der Cloud KMS-Schlüsselversion und des Cloud Storage-Bucket).
Sie können jedoch weiterhin alle Konfigurationswerte in der neuen CA überschreiben, indem Sie das entsprechende Flag explizit angeben. Sie können beispielsweise weiterhin `--subject SUBJECT angeben, um ein neues Thema zu verwenden.
Wenn Sie das Flag --key-algorithm
weglassen, wird standardmäßig der folgende Algorithmus verwendet:
rsa-pkcs1-4096-sha256
für Stamm-CAs.rsa-pkcs1-2048-sha256
für untergeordnete CAs.
Weitere Informationen zu diesem gcloud
-Befehl finden Sie unter gcloud privateca roots create.
Nächste Schritte
- Untergeordnete Zertifizierungsstelle erstellen
- Informationen zum Anfordern von Zertifikaten
- Weitere Informationen zu Vorlagen und Ausstellungsrichtlinien