Auf dieser Seite wird beschrieben, wie Sie einen asymmetrischen Schlüssel erstellen. Sie können einen asymmetrischen Schlüssel zum Verschlüsseln oder Signieren verwenden.
Sie können auch einen symmetrischen Verschlüsselungsschlüssel, einen Cloud HSM-Schlüssel oder einen Cloud External Key Manager-Schlüssel erstellen.
Übersicht
Wenn Sie einen Schlüssel erstellen, fügen Sie ihn einem Schlüsselbund an einem bestimmten Google Cloud-Speicherort hinzu. Sie können einen neuen Schlüsselbund erstellen oder einen vorhandenen verwenden. In diesem Thema erstellen Sie einen neuen Schlüsselbund und fügen ihm einen neuen Schlüssel hinzu.
Schlüsselbund erstellen
Führen Sie die folgenden Schritte aus, um einen Schlüsselbund für Ihren neuen Schlüssel zu erstellen. Wenn Sie stattdessen einen vorhandenen Schlüsselbund verwenden möchten, können Sie einen Schlüssel erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf Schlüsselbund erstellen.
Geben Sie im Feld Schlüsselbundname den gewünschten Namen für den Schlüsselbund ein.
Wählen Sie im Drop-down-Menü Schlüsselbundort einen Standort wie
"us-east1"
aus.Klicken Sie auf Erstellen.
gcloud CLI
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf diese Version durchführen.
gcloud kms keyrings create key-ring \ --location location
Geben Sie für key-ring einen Namen für die Schlüsselbund an. Ersetzen Sie location durch den Cloud KMS-Standort für den Schlüsselbund und seine Schlüssel.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings?key_ring_id=key-ring-id" \ --request "POST" \ --header "authorization: Bearer token"
Weitere Informationen finden Sie in der KeyRing.create
API-Dokumentation.
Asymmetrischen Entschlüsselungsschlüssel erstellen
So erstellen Sie einen asymmetrischen Entschlüsselungsschlüssel für den angegebenen Schlüsselbund und Speicherort. In diesen Beispielen werden ein software
-Schutzniveau und ein rsa-decrypt-oaep-2048-sha256
Wenn Sie den Schlüssel zum ersten Mal erstellen, hat die ursprüngliche Version des Schlüssels den Status Generierung ausstehend. Wenn sich der Status in aktiviert ändert, können Sie den Schlüssel verwenden. Weitere Informationen zu Schlüsselversionsstatus finden Sie unter Schlüsselstatus.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, für den Sie einen Schlüssel erstellen.
Klicken Sie auf Schlüssel erstellen.
Wählen Sie unter Welchen Schlüsseltyp möchten Sie erstellen? die Option Generierter Schlüssel aus.
Geben Sie im Feld Schlüsselname einen Namen für den Schlüssel ein.
Klicken Sie auf das Drop-down-Menü Schutzstufe und wählen Sie Software aus.
Klicken Sie auf das Drop-down-Menü Zweck und wählen Sie Asymmetrische Entschlüsselung aus.
Klicken Sie auf das Drop-down-Menü Algorithmus und wählen Sie 2.048-Bit-RSA - OAEP-Padding - SHA256-Digest aus. Sie können diesen Wert in zukünftigen Schlüsselversionen ändern.
Klicken Sie auf Erstellen.
gcloud CLI
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf diese Version durchführen.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-encryption" \ --default-algorithm "rsa-decrypt-oaep-2048-sha256"
Geben Sie für key einen Namen für den neuen Schlüssel an. Ersetzen Sie key-ring durch den Namen des vorhandenen Schlüsselbunds, in dem sich der Schlüssel befinden wird. Ersetzen Sie location durch den Cloud KMS-Speicherort für den Schlüsselbund.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Erstellen Sie einen asymmetrischen Entschlüsselungsschlüssel, indem Sie CryptoKey.create
aufrufen.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys?crypto_key_id=crypto-key-id" \ --request "POST" \ --header "authorization: Bearer token" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_DECRYPT", "versionTemplate": {"algorithm": "algorithm"}}'
Ersetzen Sie algorithm durch einen geeigneten Algorithmus für ASYMMETRIC_DECRYPT
-Vorgänge, z. B. RSA_DECRYPT_OAEP_2048_SHA256
.
Asymmetrischen Signaturschlüssel erstellen
Führen Sie die folgenden Schritte aus, um einen Schlüssel für den Schlüsselbund und den Speicherort zu erstellen. In diesen Beispielen werden ein software
-Schutzniveau und ein rsa-sign-pkcs1-2048-sha256
Wenn Sie den Schlüssel zum ersten Mal erstellen, hat die ursprüngliche Version des Schlüssels den Status Generierung ausstehend. Wenn sich der Status in aktiviert ändert, können Sie den Schlüssel verwenden. Weitere Informationen zu Schlüsselversionsstatus finden Sie unter Schlüsselstatus.
Console
Rufen Sie in der Google Cloud Console die Seite Schlüsselverwaltung auf.
Klicken Sie auf den Namen des Schlüsselbunds, für den Sie einen Schlüssel erstellen.
Klicken Sie auf Schlüssel erstellen.
Wählen Sie unter Welchen Schlüsseltyp möchten Sie erstellen? die Option Generierter Schlüssel aus.
Geben Sie im Feld Schlüsselname einen Namen für den Schlüssel ein.
Klicken Sie auf das Drop-down-Menü Schutzstufe und wählen Sie Software aus.
Klicken Sie auf das Drop-down-Menü Zweck und wählen Sie Asymmetrische Signatur aus.
Klicken Sie auf das Drop-down-Menü Algorithmus und wählen Sie 2048-Bit-RSA - PKCS#1 v1.5-Padding - SHA256-Digest aus. Sie können diesen Wert in zukünftigen Schlüsselversionen ändern.
Klicken Sie auf Erstellen.
gcloud CLI
Wenn Sie Cloud KMS in der Befehlszeile verwenden möchten, müssen Sie zuerst die neueste Version der Google Cloud CLI installieren oder ein Upgrade auf diese Version durchführen.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-signing" \ --default-algorithm "rsa-sign-pkcs1-2048-sha256"
Geben Sie für key einen Namen für die Schlüsseldatei an. Ersetzen Sie key-ring durch den Namen des vorhandenen Schlüsselbunds, in dem sich der Schlüssel befinden wird. Ersetzen Sie location durch den Cloud KMS-Speicherort für den Schlüsselbund.
Wenn Sie Informationen zu allen Flags und möglichen Werten erhalten möchten, führen Sie den Befehl mit dem Flag --help
aus.
C#
Um diesen Code auszuführen, müssen Sie zuerst eine C#-Entwicklungsumgebung einrichten und das Cloud KMS C# SDK installieren.
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Cloud KMS Go SDK installieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Cloud KMS Java SDK installieren.
Node.js
Um diesen Code auszuführen, richten Sie zuerst eine Node.js-Entwicklungsumgebung ein und installieren Sie das Cloud KMS Node.js SDK.
PHP
Um diesen Code auszuführen, müssen Sie zuerst PHP in Google Cloud verwenden lernen und das Cloud KMS PHP SDK installieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Cloud KMS Python SDK installieren.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Cloud KMS Ruby SDK installieren.
API
In diesen Beispielen wird curl als HTTP-Client verwendet, um die Verwendung der API zu demonstrieren. Weitere Informationen zur Zugriffssteuerung finden Sie unter Auf die Cloud KMS API zugreifen.
Erstellen Sie einen asymmetrischen Signaturschlüssel, indem Sie CryptoKey.create
aufrufen.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys?crypto_key_id=crypto-key-id" \ --request "POST" \ --header "authorization: Bearer token" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_SIGN", "versionTemplate": {"algorithm": "algorithm"}}'
Ersetzen Sie algorithm durch einen geeigneten Algorithmus für ASYMMETRIC_SIGN
-Vorgänge, z. B. RSA_SIGN_PSS_2048_SHA256
.
Steuern Sie den Zugriff auf asymmetrische Schlüssel
Zur Signierung oder Signaturprüfung ist für den asymmetrischen Schlüssel die entsprechende Berechtigung oder Rolle erforderlich.
Gewähren Sie einem Nutzer oder Dienst, der für den Signiervorgang zuständig ist, die Berechtigung
cloudkms.cryptoKeyVersions.useToSign
für den asymmetrischen Schlüssel.Gewähren Sie einem Nutzer oder Dienst, von dem der öffentliche Schlüssel abgerufen wird, die Berechtigung
cloudkms.cryptoKeyVersions.viewPublicKey
für den asymmetrischen Schlüssel. Der öffentliche Schlüssel wird zur Signaturprüfung benötigt.
Weitere Informationen zu Berechtigungen und Rollen im Cloud KMS-Release finden Sie unter Berechtigungen und Rollen.
Nächste Schritte
- Signaturen erstellen und verwenden
- Daten mit einem RSA-Schlüssel verschlüsseln und entschlüsseln
- Öffentlichen Schlüssel abrufen