Cette page explique comment créer une clé asymétrique. Vous pouvez utiliser une clé asymétrique pour le chiffrement ou la signature.
Vous pouvez également créer une clé symétrique, une clé Cloud HSM ou une clé Cloud External Key Manager.
Présentation
Lorsque vous créez une clé, vous l'ajoutez à un trousseau dans un emplacement Google Cloud donné. Vous pouvez créer un trousseau de clés ou en utiliser un existant. Dans cette rubrique, vous allez créer un trousseau de clés et y ajouter une nouvelle clé.
Créer un trousseau de clés
Suivez ces étapes afin de créer un trousseau de clés pour votre nouvelle clé. Si vous préférez utiliser un trousseau de clés existant, vous pouvez créer une clé.
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur Créer un trousseau de clés.
Dans le champ Key ring name (Nom du trousseau), saisissez le nom souhaité pour le trousseau de clés.
Dans la liste déroulante Key ring location (Emplacement du trousseau), sélectionnez un emplacement tel que
"us-east1"
.Cliquez sur Créer.
gcloud CLI
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à niveau la dernière version de Google Cloud CLI.
gcloud kms keyrings create key-ring \ --location location
Remplacez key-ring par le nom du trousseau de clés. Remplacez location par l'emplacement Cloud KMS du trousseau de clés et de ses clés.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
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"
Pour plus d'informations, consultez la documentation de l'API KeyRing.create
.
Créer une clé de déchiffrement asymétrique
Suivez ces étapes pour créer une clé de déchiffrement asymétrique sur le trousseau de clés et l'emplacement spécifiés. Ces exemples utilisent un niveau de protection software
et un algorithme rsa-decrypt-oaep-2048-sha256
Lorsque vous créez la clé pour la première fois, sa version initiale présente l'état Génération en attente. Lorsqu'elle passe à l'état Activée, vous pouvez utiliser la clé. Pour en savoir plus sur les états des versions de clé, consultez la page États des clés.
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans la section Quel type de clé souhaitez-vous créer ?, sélectionnez Clé générée.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Cliquez sur le menu déroulant Niveau de protection, puis sélectionnez Logiciel.
Cliquez sur le menu déroulant Objectif et sélectionnez Déchiffrement asymétrique.
Cliquez sur le menu déroulant Algorithme et sélectionnez RSA 2 048 bits - Remplissage OAEP - Condensé SHA256. Vous pouvez modifier cette valeur sur les futures versions de clé.
Cliquez sur Créer.
gcloud CLI
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à niveau la dernière version de Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-encryption" \ --default-algorithm "rsa-decrypt-oaep-2048-sha256"
Remplacez key par le nom de la nouvelle clé. Remplacez key-ring par le nom du trousseau de clés existant où sera située la clé. Remplacez location par l'emplacement Cloud KMS du trousseau de clés.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Créez une clé de déchiffrement asymétrique en appelant CryptoKey.create
.
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"}}'
Remplacez algorithm par un algorithme approprié pour les opérations ASYMMETRIC_DECRYPT
, par exemple RSA_DECRYPT_OAEP_2048_SHA256
.
Créer une clé de signature asymétrique
Suivez ces étapes pour créer une clé de signature asymétrique sur le trousseau de clés et l'emplacement spécifiés. Ces exemples utilisent un niveau de protection software
et un algorithme rsa-sign-pkcs1-2048-sha256
Lorsque vous créez la clé pour la première fois, sa version initiale présente l'état Génération en attente. Lorsqu'elle passe à l'état Activée, vous pouvez utiliser la clé. Pour en savoir plus sur les états des versions de clé, consultez la page États des clés.
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans la section Quel type de clé souhaitez-vous créer ?, sélectionnez Clé générée.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Cliquez sur le menu déroulant Niveau de protection, puis sélectionnez Logiciel.
Cliquez sur le menu déroulant Objectif et sélectionnez Signature asymétrique.
Cliquez sur le menu déroulant Algorithme et sélectionnez RSA 2 048 bits - Remplissage PKCS#1 v1.5 - Condensé SHA256. Vous pouvez modifier cette valeur sur les futures versions de clé.
Cliquez sur Créer.
gcloud CLI
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à niveau la dernière version de Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-signing" \ --default-algorithm "rsa-sign-pkcs1-2048-sha256"
Remplacez key par le nom de la clé. Remplacez key-ring par le nom du trousseau de clés existant où sera située la clé. Remplacez location par l'emplacement Cloud KMS du trousseau de clés.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Créez une clé de signature asymétrique en appelant CryptoKey.create
.
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"}}'
Remplacez algorithm par un algorithme approprié pour les opérations ASYMMETRIC_SIGN
, par exemple RSA_SIGN_PSS_2048_SHA256
.
Contrôler l'accès aux clés asymétriques
Un signataire ou un validateur doit disposer de l'autorisation ou du rôle approprié sur la clé asymétrique.
Pour un utilisateur ou un service qui effectue la signature, accordez l'autorisation
cloudkms.cryptoKeyVersions.useToSign
sur la clé asymétrique.Pour un utilisateur ou un service qui récupère la clé publique, accordez l'autorisation
cloudkms.cryptoKeyVersions.viewPublicKey
sur la clé asymétrique. La clé publique est nécessaire à la validation de la signature.
Pour en savoir plus sur les autorisations et les rôles dans la version de Cloud KMS, consultez la page Autorisations et rôles.
Étapes suivantes
- Découvrez comment créer et valider des signatures.
- Apprenez-en plus sur le chiffrement et le déchiffrement des données avec une clé RSA.
- Apprenez à récupérer une clé publique.