Le firme digitali vengono utilizzate per garantire l'integrità e l'autenticità dei dati. Questo documento spiega come utilizzare gcloud CLI per firmare i dati e verificare le firme utilizzando chiavi asimmetriche gestite da Key Management System (KMS).
Questa pagina è rivolta ai membri del gruppo di operatori di applicazioni, ad esempio i team DevOps, quando eseguono operazioni di gestione delle chiavi all'interno di Google Distributed Cloud (GDC) air-gapped. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.
Prima di iniziare
Per firmare e verificare i dati utilizzando le chiavi, richiedi le autorizzazioni necessarie, prepara l'ambiente e crea una chiave di firma se non ne hai già una.
Richiedere ruoli IAM
Contatta l'amministratore IAM dell'organizzazione per concederti il seguente ruolo nello spazio dei nomi del progetto:
- Sviluppatore KMS (
kms-developer): visualizza le chiavi ed esegui operazioni di crittografia come la crittografia, la decrittografia, la firma e la verifica dei dati all'interno di un progetto.
prepara l'ambiente
Installa e inizializza gcloud CLI, se non l'hai ancora fatto.
Esegui l'autenticazione a GDC utilizzando gcloud CLI. Questo processo richiede il certificato dell'autorità di certificazione (CA) per la console della tua organizzazione:
Scarica il certificato CA:
echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATHSostituisci quanto segue:
CONSOLE_URL: l'URL della console della tua organizzazione (ad esempioconsole.org-1.zone1.google.gdch.test)CA_CERT_PATH: il percorso completo in cui vuoi salvare il file del certificato CA (ad esempio/tmp/my-org-ca.crt)
Accedi utilizzando il certificato CA scaricato:
gdcloud auth login --login-config-cert=CA_CERT_PATH
Assicurati che esista una chiave di firma
Per firmare e verificare i dati, devi utilizzare una chiave di firma. La creazione e la verifica delle chiavi richiedono autorizzazioni IAM separate, come descritto nelle pagine collegate.
- Se devi creare una chiave di firma, segui le istruzioni riportate in Crea una chiave di firma.
- Per verificare l'esistenza di una chiave di firma, segui le istruzioni riportate in Verifica della creazione della chiave di firma.
Dati della firma
Per firmare i dati, utilizza il comando gdcloud kms keys asymmetric-sign. Questo comando
crea una firma digitale di un file di input utilizzando una chiave di firma e salva
la firma con codifica Base64:
gdcloud kms keys asymmetric-sign \
namespaces/NAMESPACE/signingKeys/KEY_NAME \
--input-file=INPUT_PATH \
--signature-file=SIGNATURE_FILE
Sostituisci quanto segue:
- NAMESPACE: lo spazio dei nomi del progetto, ad esempio:
kms-test1 - KEY_NAME: il nome della chiave utilizzata per la firma, ad esempio
key-1 - INPUT_PATH: il percorso del file di input che vuoi firmare
- SIGNATURE_FILE: il percorso del file di output in cui salvare la firma codificata in base64
Dopo aver eseguito il comando, vedrai un file di output specificato nel
flag --signature-file che contiene la firma con codifica in base64.
Verifica dei dati
Dopo aver firmato i dati, verifica la firma digitale base64 utilizzando
il comando gdcloud kms keys asymmetric-verify. Questo comando verifica se la firma digitale con codifica Base64 che ricevi dopo aver eseguito il comando gdcloud kms keys asymmetric-sign è valida:
gdcloud kms keys asymmetric-verify \
namespaces/NAMESPACE/signingKeys/KEY_NAME \
--input-file=INPUT_PATH \
--signature-file=SIGNATURE_FILE
Sostituisci quanto segue:
- NAMESPACE: lo spazio dei nomi del progetto, ad esempio:
kms-test1 - KEY_NAME: il nome della chiave utilizzata per la firma, ad esempio
key-1 - INPUT_PATH: il percorso del file di input originale firmato
- SIGNATURE_FILE: il percorso del file contenente la firma codificata in base64 da verificare
Dopo aver eseguito il comando, se l'operazione va a buon fine, viene visualizzato l'output Verification OK. In caso contrario, vedrai l'output di errore
Verification Failure.