Questa pagina mostra come recuperare la parte della chiave pubblica di una versione di chiave asimmetrica abilitata.
Per gli algoritmi di calcolo post-quantistico (PQC) (anteprima), la chiave pubblica è nel formato identificato negli standard NIST PQC FIPS-203, FIPS-204 e FIPS-205. Per tutti gli altri algoritmi (non PQC), la chiave pubblica è in formato PEM (Privacy-enhanced Electronic Mail). Per saperne di più, consulta le sezioni RFC 7468 per Considerazioni generali e Codifica testuale delle informazioni sulla chiave pubblica del soggetto.
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per recuperare una chiave pubblica,
chiedi all'amministratore di concederti il
ruolo IAM Cloud KMS CryptoKey Public Key Viewer (roles/cloudkms.publicKeyViewer
)
sulla chiave o su una risorsa padre.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per recuperare una chiave pubblica. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per recuperare una chiave pubblica sono necessarie le seguenti autorizzazioni:
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Recuperare una chiave pubblica
Puoi specificare il formato in cui vuoi recuperare la chiave pubblica.
Se il formato è specificato, la chiave verrà restituita nel formato specificato
nel campo public_key
della risposta. In caso contrario, viene restituito nel
campo pem
della risposta.
Per scaricare la chiave pubblica per una versione della chiave asimmetrica abilitata:
Console
Nella console Google Cloud , vai alla pagina Key Management.
Fai clic sul nome del keyring contenente la chiave asimmetrica per cui vuoi recuperare la chiave pubblica.
Fai clic sul nome della chiave per cui vuoi recuperare la chiave pubblica.
Nella riga corrispondente alla versione della chiave per cui vuoi recuperare la chiave pubblica, fai clic su Visualizza altro
.Fai clic su Scarica chiave pubblica.
La chiave pubblica viene visualizzata nel prompt. Puoi copiare la chiave pubblica negli appunti. Per scaricare la chiave pubblica, fai clic su Scarica.
Se non vedi l'opzione Ottieni chiave pubblica, verifica quanto segue:
- La chiave è una chiave asimmetrica.
- La versione della chiave è abilitata.
- Disponi dell'autorizzazione
cloudkms.cryptoKeyVersions.viewPublicKey
.
Il nome file di una chiave pubblica scaricata dalla console Google Cloud è del formato:
KEY_RING-KEY_NAME-KEY_VERSION.pub
Ogni parte del nome file è separata da un trattino, ad esempio
ringname-keyname-version.pub
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --public-key-format PUBLIC_KEY_FORMAT \ --output-file OUTPUT_FILE_PATH
Sostituisci quanto segue:
KEY_VERSION
: il numero di versione della chiave.KEY_NAME
: il nome della chiave.KEY_RING
: il nome delle chiavi automatizzate che contengono la chiave.LOCATION
: la posizione di Cloud KMS delle chiavi automatizzate.PUBLIC_KEY_FORMAT
: il formato in cui vuoi esportare la chiave pubblica. Per gli algoritmi PQC (anteprima), utilizzanist-pqc
. Per tutte le altre chiavi, puoi utilizzarepem
o omettere questo parametro.OUTPUT_FILE_PATH
: il percorso in cui vuoi salvare il file della chiave pubblica, ad esempiopublic-key.pub
.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help
.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# Cloud KMS.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, scopri innanzitutto come utilizzare PHP su Google Cloud e installa l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accesso all'API Cloud KMS.
Recupera la chiave pubblica chiamando il metodo CryptoKeyVersions.getPublicKey.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey?public_key_format=PUBLIC_KEY_FORMAT" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene il portachiavi.LOCATION
: la posizione di Cloud KMS delle chiavi automatizzate.KEY_RING
: il nome delle chiavi automatizzate che contengono la chiave.KEY_NAME
: il nome della chiave.KEY_VERSION
: il numero di versione della chiave.PUBLIC_KEY_FORMAT
: il formato in cui vuoi esportare la chiave pubblica. Per gli algoritmi PQC (anteprima), utilizzaNIST_PQC
. Per tutte le altre chiavi, puoi utilizzarePEM
o omettere questo parametro.
Se il formato della chiave pubblica viene omesso per una chiave non PQC, l'output è simile al seguente:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }
Per un algoritmo PQC con formato della chiave pubblica NIST_PQC
, l'output è simile al seguente:
{ "publicKeyFormat": "NIST_PQC", "publicKey": { "crc32cChecksum": "1985843562", "data": "kdcOIrFCC5kN8S4i0+R+AoSc9gYIJ9jEQ6zG235ZmCQ=" } "algorithm": "ALGORITHM", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }