L'AO effectue des opérations de signature et de validation via Google Distributed Cloud (GDC) air-gapped vers le KMS via un client gRPC.
Avant de commencer
Pour obtenir les autorisations requises pour signer des données, demandez à l'administrateur IAM de votre organisation de vous accorder le rôle Développeur KMS (kms-developer
) dans l'espace de noms de votre projet.
Signer des données
Pour signer des données, utilisez la commande gdcloud kms keys asymmetric-sign
. Cette commande crée une signature numérique d'un fichier d'entrée à l'aide de la clé Signing
et enregistre la signature encodée en base64.
Pour signer vos données, transmettez le nom de la clé et les éléments suivants :
gdcloud kms keys asymmetric-sign \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILE
Remplacez les variables suivantes :
- NAMESPACE : espace de noms du projet, par exemple :
kms-test1
. - KEY_NAME : nom de la clé utilisée pour la signature, par exemple
key-1
. - INPUT_PATH : chemin d'accès au fichier d'entrée que vous souhaitez signer.
- SIGNATURE_FILE : chemin d'accès au fichier de sortie dans lequel enregistrer la signature encodée en base64.
Une fois la commande exécutée, vous verrez un fichier de sortie que vous avez spécifié dans l'indicateur
--signature-file
et qui contient la signature encodée en base64.- NAMESPACE : espace de noms du projet, par exemple :
Vérifier les données
Après avoir signé vos données, vérifiez la signature numérique base64 à l'aide de la commande gdcloud kms keys asymmetric-verify
. Cette commande permet de vérifier si la signature numérique encodée en base64 que vous recevez après avoir exécuté la commande gdcloud kms keys asymmetric-sign
est valide.
Pour valider la signature, transmettez le fichier de signature et les éléments suivants :
gdcloud kms keys asymmetric-verify \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILE
Une fois la commande exécutée, le résultat
Verification OK
s'affiche en cas de succès. En cas d'échec, le résultatVerification Failure
s'affiche.