Formater des clés pour l'importation

Cette rubrique explique comment formater vos clés afin qu'elles puissent être importées par Cloud KMS en tant que nouvelles versions de clé.

Le format du matériel de votre clé varie selon si le matériel est importé dans une clé symétrique ou dans une clé asymétrique. Pour plus d'informations sur la différence entre les clés symétriques et asymétriques, consultez la page Objectifs et algorithmes des clés.

Formats de clé acceptés

  • Les clés symétriques pour le chiffrement doivent contenir 16 octets (pour le chiffrement symétrique brut uniquement) ou 32 octets de données binaires, et ne doivent pas être encodées. Si votre clé est encodée en hexadécimal ou en base64, vous devez la décoder avant d'essayer de l'importer.

  • Les clés symétriques pour la signature (clés MAC) doivent avoir une longueur égale à la longueur de sortie de la fonction de hachage cryptographique utilisée (par exemple, les clés HMAC-SHA256 doivent avoir une longueur de 32 octets), et ne doivent pas être encodées. Si votre clé est encodée en hexadécimal ou en base64, vous devez la décoder avant d'essayer de l'importer.

  • Les clés asymétriques pour le chiffrement ou la signature doivent être au format PKCS #8 et encodées au format DER. Le format PCKS #8 est défini dans la norme RFC 5208. L'encodage au format DER est défini dans la norme International Telecommunications Union X.680. Les clés asymétriques doivent utiliser l'une des combinaisons de longueur et d'algorithme acceptées par Cloud KMS.

.

Certains aspects d'une clé, tels que sa longueur, ne peuvent pas être modifiés après sa création. Dans ce cas, la clé ne peut pas être importée dans Cloud KMS.

Vérifier une clé symétrique

Utilisez la commande wc pour vérifier la longueur d'une clé symétrique.

wc -c /path/to/unwrapped-key
  • Vous ne pouvez pas importer une clé symétrique d'une longueur autre que 32.

  • Les clés de signature symétrique (clés MAC) doivent avoir une longueur égale à la longueur de sortie de la fonction de hachage cryptographique utilisée (par exemple, les clés HMAC-SHA256 doivent avoir une longueur de 32 octets).

Utilisez la commande file pour vérifier le format d'une clé.

file /path/to/unwrapped-key
  • Si le résultat est data, la clé est au bon format pour être importée.

  • Si le résultat est ASCII text, utilisez la commande cat pour afficher le contenu du fichier.

    • S'il s'agit d'une chaîne de lettres et de chiffres se terminant par un signe =, il peut s'agir d'un encodage en base64. Utilisez la commande base64 (Base64.exe sous Windows) pour la décoder. Voici un exemple de clé encodée en base64 :

      THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
      
    • S'il contient une ou plusieurs lignes de nombres hexadécimaux, il peut s'agir d'un encodage en hexadécimal. Utilisez la commande xxd (ou la commande PowerShell Format-Hex sous Windows) pour le décodage. Voici un exemple de clé encodée en hexadécimal:

      00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af  L|..6.......y=Y.
      00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776  ...]...).~.s.#.v
      
    • S'il contient tout autre texte, il peut s'agir d'une clé symétrique non valide.

Formater des clés asymétriques

Les clés asymétriques utilisant l'un des algorithmes compatibles peuvent être importées. En pratique, il est difficile de déterminer rétroactivement l'algorithme utilisé pour créer une clé asymétrique. Pour cette raison, nous vous recommandons d'exécuter les commandes suivantes sur chaque clé asymétrique avant d'essayer de l'importer dans Cloud KMS.

  1. Utilisez la commande file pour vérifier le format d'une clé.

    file /path/to/unwrapped-key
    
    • Si le résultat est PEM, la clé est au format PEM. S'il s'agit de ASCII text, il est probablement au format PEM. Dans les deux cas, exécutez la commande suivante pour le convertir au format DER PCKS #8 :

      openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \
          -in /path/to/asymmetric-key-pem \
          -out /path/to/formatted-key
      
    • Si le résultat est data, la clé est susceptible d'être au format DER, mais elle peut ne pas être au format PKCS #8. Exécutez la commande suivante pour vous assurer que le format de la clé est correct. La commande n'a aucun effet si la clé est déjà au bon format. Dans ce cas, vous pouvez utiliser la commande diff pour vérifier que les fichiers d'entrée et de sortie sont identiques.

      openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \
          -in /path/to/asymmetric-key-der \
          -out /path/to/formatted-key
      

Dépannage

Si vous exécutez les commandes ci-dessus et que vous pensez que la clé est dans un format approprié, mais que l'importation échoue toujours, recherchez des erreurs dans la console Google Cloud, puis consultez la page Résoudre les échecs d'importation.

Étape suivante