Questa pagina mostra come creare una chiave asimmetrica. Puoi utilizzare una chiave asimmetrica per la crittografia o per la firma.
Puoi anche creare una chiave di crittografia simmetrica, una chiave Cloud HSM o una chiave di Cloud Key Key Manager.
Panoramica
Quando crei una chiave, la aggiungi a un keyring in una determinata posizione di Google Cloud. Puoi creare un nuovo keyring o utilizzarne uno esistente. In questo argomento, creerai un nuovo keyring e vi aggiungerai una nuova chiave.
Creazione di un keyring
Segui questi passaggi per creare un keyring per la nuova chiave. Se vuoi utilizzare un keyring esistente, puoi creare una chiave.
Console
Vai alla pagina Gestione chiavi in Google Cloud Console.
Fai clic su Crea keyring.
Nel campo Nome keyring, inserisci il nome da assegnare al keyring.
Nel menu a discesa Posizione keyring, seleziona una località come
"us-east1"
.Fai clic su Crea.
gcloud CLI
Per utilizzare Cloud KMS, dalla riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keyrings create key-ring \ --location location
Sostituisci key-ring con un nome per il keyring. Sostituisci location con la posizione di Cloud KMS per il keyring e le relative chiavi.
Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help
.
C#
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo C# e installare l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installare l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, consulta prima l'articolo sull'utilizzo di PHP su Google Cloud e installa l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
In questi esempi viene utilizzato curl come client HTTP per dimostrare l'utilizzo dell'API. Per maggiori informazioni sul controllo dell'accesso, consulta Accesso all'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"
Consulta la documentazione dell'API KeyRing.create
per ulteriori informazioni.
Creazione di una chiave di decriptazione asimmetrica
Segui questi passaggi per creare una chiave di decriptazione asimmetrica sul keyring e sulla posizione specificati. Questi esempi utilizzano un livello di protezione software
e un algoritmo di rsa-decrypt-oaep-2048-sha256
Quando crei la chiave per la prima volta, la sua versione iniziale ha uno stato di generazione in attesa. Quando lo stato passa a attivato, puoi utilizzare la chiave. Per scoprire di più sugli stati delle versioni della chiave, consulta Stati delle chiavi.
Console
Vai alla pagina Gestione chiavi in Google Cloud Console.
Fai clic sul nome del keyring per cui vuoi creare una chiave.
Fai clic su Crea chiave.
In Che tipo di chiave vuoi creare?, scegli Chiave generata.
Nel campo Nome chiave, inserisci il nome della chiave.
Fai clic sul menu a discesa Livello di protezione e seleziona Software.
Fai clic sul menu a discesa Finalità e seleziona Decriptazione asimmetrica.
Fai clic sul menu a discesa Algoritmo e seleziona 2048 bit RSA - OAEP Padding - SHA256 Digest. Puoi modificare questo valore nelle versioni future delle chiavi.
Fai clic su Crea.
gcloud CLI
Per utilizzare Cloud KMS, dalla riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-encryption" \ --default-algorithm "rsa-decrypt-oaep-2048-sha256"
Sostituisci key con un nome della nuova chiave. Sostituisci key-ring con il nome del keyring esistente in cui si troverà la chiave. Sostituisci location con la posizione di Cloud KMS per il keyring.
Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help
.
C#
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo C# e installare l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installare l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, consulta prima l'articolo sull'utilizzo di PHP su Google Cloud e installa l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
In questi esempi viene utilizzato curl come client HTTP per dimostrare l'utilizzo dell'API. Per maggiori informazioni sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Crea una chiave di decriptazione asimmetrica chiamando 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"}}'
Sostituisci algorithm con un
algoritmo
appropriato per le operazioni di ASYMMETRIC_DECRYPT
, ad esempio RSA_DECRYPT_OAEP_2048_SHA256
.
Creazione di una chiave di firma asimmetrica
Segui questi passaggi per creare una chiave di firma asimmetrica sul keyring e sulla posizione
specificati. Questi esempi utilizzano un livello di protezione software
e un algoritmo di rsa-sign-pkcs1-2048-sha256
Quando crei la chiave per la prima volta, la sua versione iniziale ha uno stato di generazione in attesa. Quando lo stato passa a attivato, puoi utilizzare la chiave. Per scoprire di più sugli stati delle versioni della chiave, consulta Stati delle chiavi.
Console
Vai alla pagina Gestione chiavi in Google Cloud Console.
Fai clic sul nome del keyring per cui vuoi creare una chiave.
Fai clic su Crea chiave.
In Che tipo di chiave vuoi creare?, scegli Chiave generata.
Nel campo Nome chiave, inserisci il nome della chiave.
Fai clic sul menu a discesa Livello di protezione e seleziona Software.
Fai clic sul menu a discesa Finalità e seleziona Simbolo asimmetrico.
Fai clic sul menu a discesa Algoritmo e seleziona RSA a 2048 bit - Padding CS1#1 v1.5 - Digest SHA256. Puoi modificare questo valore nelle versioni future delle chiavi.
Fai clic su Crea.
gcloud CLI
Per utilizzare Cloud KMS, dalla riga di comando, devi prima installare o eseguire l'upgrade alla versione più recente di Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-signing" \ --default-algorithm "rsa-sign-pkcs1-2048-sha256"
Sostituisci key con un nome per la chiave. Sostituisci key-ring con il nome del keyring esistente in cui si troverà la chiave. Sostituisci location con la posizione di Cloud KMS per il keyring.
Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help
.
C#
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo C# e installare l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Go e installare l'SDK Cloud KMS Go.
Java
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, consulta prima l'articolo sull'utilizzo di PHP su Google Cloud e installa l'SDK PHP Cloud KMS.
Python
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi prima configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
In questi esempi viene utilizzato curl come client HTTP per dimostrare l'utilizzo dell'API. Per maggiori informazioni sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Crea una chiave di firma asimmetrica chiamando
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"}}'
Sostituisci algorithm con un
algoritmo
appropriato per le operazioni di ASYMMETRIC_SIGN
, ad esempio RSA_SIGN_PSS_2048_SHA256
.
Controlla l'accesso alle chiavi asimmetriche
Un firmatario o uno strumento di convalida richiede l'autorizzazione o il ruolo appropriati per la chiave asimmetrica.
Per un utente o un servizio che eseguirà la firma, concedi l'autorizzazione
cloudkms.cryptoKeyVersions.useToSign
per la chiave asimmetrica.Per un utente o un servizio che recuperi la chiave pubblica, concedi l'autorizzazione
cloudkms.cryptoKeyVersions.viewPublicKey
alla chiave asimmetrica. La chiave pubblica è obbligatoria per la convalida della firma.
Per saperne di più sulle autorizzazioni e sui ruoli nella release di Cloud KMS, vedi Autorizzazioni e ruoli.
Passaggi successivi
- Scopri di più su come creare e convalidare le firme.
- Scopri di più su come criptare e decriptare i dati con una chiave RSA.
- Scopri di più sul recupero di una chiave pubblica.