Le firme digitali vengono utilizzate per garantire l'integrità e l'autenticità dei dati. Questo documento spiega come utilizzare la CLI gdcloud per firmare i dati e verificare le firme utilizzando le chiavi asimmetriche gestite dal Key Management System (KMS).
Questa pagina è destinata ai gruppi di operatori di applicazioni, come i team DevOps, quando eseguono operazioni di gestione delle chiavi in Google Distributed Cloud (GDC) air-gapped. Per saperne di più, consulta la sezione Pubblico della documentazione di GDC con air gap.
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.
Richiedi i 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 il gdcloud CLI, se non l'hai già fatto.
Esegui l'autenticazione a GDC utilizzando la CLI gdcloud. Questa procedura 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 Creare una chiave di firma.
- Per verificare l'esistenza di una chiave di firma, segui le istruzioni riportate in Verificare la creazione della chiave di firma.
Firma i dati
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 codificata in 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 codificata in base64.
Verifica dati
Dopo aver firmato i dati, verifica la firma digitale in base64 utilizzando il comando gdcloud kms keys asymmetric-verify. Questo comando verifica se la firma digitale codificata in 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 che è stato firmato
- SIGNATURE_FILE: il percorso del file contenente la firma codificata in base64 da verificare
Se l'operazione va a buon fine, dopo aver eseguito il comando vedrai l'output Verification OK. In caso contrario, vedrai l'output di errore Verification Failure.