Cet article explique comment mettre en forme vos clés afin qu'elles puissent être importées 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 avant de tenter 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 ou en base64 ou hexadécimal, vous devez le décoder avant de tenter d'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 commandecat
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 commandebase64
(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 PowerShellFormat-Hex
sous Windows) pour le décodage. Voici un exemple d'encodage hexadécimal clé: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.
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 deASCII 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 commandediff
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 mais que l'importation échoue toujours, recherchez d'éventuelles erreurs dans la console Google Cloud consultez la section Dépannage des problèmes d'importation.
Étape suivante
- Passez à la section Importer une version de clé.
- En savoir plus sur l'importation de clés