Signer et vérifier les données

L'AO effectue des opérations de signature et de validation via Google Distributed Cloud (GDC) air-gapped au KMS via un client gRPC.

Avant de commencer

Avant d'effectuer des opérations KMS, configurez kubectl pour accéder au serveur de l'API Management et obtenir les autorisations nécessaires.

Configurer l'accès au serveur de l'API Management

Configurez kubectl pour accéder au serveur de l'API Management :

  1. Si vous ne l'avez pas déjà fait, obtenez un fichier kubeconfig pour le serveur d'API Management à l'aide de l'interface de ligne de commande (CLI) gdcloud.
  2. Définissez la variable d'environnement MANAGEMENT_API_SERVER :

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Remplacez PATH_TO_KUBECONFIG par le chemin d'accès au fichier kubeconfig généré.

  3. Si vous ne l'avez pas déjà fait, téléchargez, installez et configurez la gdcloud CLI. Pour ce faire, consultez la présentation de la gdcloud CLI.

Autorisations requises

Pour obtenir les autorisations nécessaires, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur KMS (kms-developer) dans 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, un fichier de sortie s'affiche. Il s'agit de celui que vous avez spécifié dans l'indicateur --signature-file et qui contient la signature encodée en base64.

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ésultat Verification Failure s'affiche.