Comment utiliser la commande docker trust key load pour charger une clé de signature

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à charger une clé de signature dans le magasin de clés de confiance Docker (Docker trust keystore) en utilisant la commande docker trust key load. Vous commencerez par préparer un fichier de clé privée pour signer des images Docker à l'aide de openssl.

Après la génération de la clé, vous chargerez cette clé privée dans le magasin de clés de confiance Docker, qui est un emplacement sécurisé pour les clés cryptographiques. Enfin, vous explorerez comment charger la clé privée avec un nom spécifique dans le magasin de clés.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ImageOperationsGroup -.-> docker/tag("Tag an Image") docker/ImageOperationsGroup -.-> docker/images("List Images") docker/VolumeOperationsGroup -.-> docker/cp("Copy Data Between Host and Container") subgraph Lab Skills docker/tag -.-> lab-555253{{"Comment utiliser la commande docker trust key load pour charger une clé de signature"}} docker/images -.-> lab-555253{{"Comment utiliser la commande docker trust key load pour charger une clé de signature"}} docker/cp -.-> lab-555253{{"Comment utiliser la commande docker trust key load pour charger une clé de signature"}} end

Préparer un fichier de clé privée pour la signature

Dans cette étape, vous apprendrez à préparer un fichier de clé privée pour signer des images Docker. Docker Content Trust utilise des clés cryptographiques pour vérifier l'intégrité et l'authenticité des images. Une clé privée est essentielle pour signer les images, tandis que la clé publique correspondante est utilisée par les autres pour vérifier la signature.

Tout d'abord, accédez au répertoire ~/project, qui est votre répertoire de travail pour ce laboratoire (lab).

cd ~/project

Maintenant, générez une nouvelle clé privée RSA en utilisant la commande openssl. Cette commande créera une clé privée de 4096 bits et l'enregistrera dans un fichier nommé my-signing-key.pem dans votre répertoire actuel.

openssl genrsa -out my-signing-key.pem 4096

Vous verrez une sortie indiquant le processus de génération de la clé. Cette commande génère une clé privée au format PEM.

Ensuite, vérifions que le fichier my-signing-key.pem a été créé dans votre répertoire ~/project.

ls -l my-signing-key.pem

Vous devriez voir le fichier répertorié avec ses autorisations, son propriétaire, son groupe, sa taille et sa date de modification. Cela confirme que le fichier de clé privée a été généré avec succès.

Charger la clé privée dans le magasin de clés de confiance Docker

Dans cette étape, vous chargerez la clé privée que vous avez générée à l'étape précédente dans le magasin de clés de confiance Docker (Docker trust keystore). Le magasin de clés de confiance Docker est un emplacement sécurisé où Docker stocke les clés cryptographiques utilisées pour signer et vérifier les images.

Le magasin de clés de confiance Docker est situé dans le répertoire ~/.docker/trust/private. Vous devez copier le fichier de clé privée que vous avez créé (my-signing-key.pem) dans ce répertoire.

Tout d'abord, assurez-vous que vous êtes dans le répertoire ~/project où vous avez créé la clé privée.

cd ~/project

Maintenant, copiez le fichier my-signing-key.pem dans le répertoire des clés privées de confiance Docker. Vous devrez peut-être créer le répertoire s'il n'existe pas.

mkdir -p ~/.docker/trust/private
cp my-signing-key.pem ~/.docker/trust/private/

La commande mkdir -p crée le répertoire et tous les répertoires parents nécessaires s'ils n'existent pas déjà. La commande cp copie le fichier de clé privée.

Après avoir copié le fichier, vous pouvez vérifier que la clé privée se trouve maintenant dans le magasin de clés de confiance Docker en listant le contenu du répertoire ~/.docker/trust/private.

ls ~/.docker/trust/private/

Vous devriez voir my-signing-key.pem répertorié dans la sortie. Cela confirme que la clé privée a été chargée avec succès dans le magasin de clés de confiance Docker.

Charger une clé privée avec un nom spécifique

Dans cette étape, vous apprendrez à charger une clé privée dans le magasin de clés de confiance Docker (Docker trust keystore) avec un nom spécifique. Bien que vous puissiez simplement copier le fichier de clé comme vous l'avez fait à l'étape précédente, l'utilisation de la commande docker trust key load vous permet d'associer un nom spécifique à la clé au sein du système de confiance Docker. Cela peut être utile pour gérer plusieurs clés de signature.

Tout d'abord, assurez-vous que vous êtes dans le répertoire ~/project où vous avez créé le fichier de clé privée my-signing-key.pem.

cd ~/project

Maintenant, utilisez la commande docker trust key load pour charger la clé privée. Vous serez invité à entrer un nom pour la clé. Nommons cette clé my-signer.

docker trust key load my-signing-key.pem --name my-signer

Lorsque vous êtes invité, entrez my-signer comme nom pour la clé.

Loading key from 'my-signing-key.pem'...
Enter name for new key: my-signer

Après avoir entré le nom, vous serez invité à entrer une phrase de passe pour la nouvelle clé. Pour ce laboratoire (lab), vous pouvez laisser la phrase de passe vide en appuyant simplement sur Entrée. Dans un scénario réel, il est fortement recommandé d'utiliser une phrase de passe forte pour protéger votre clé privée.

Enter passphrase for new key:
Repeat passphrase for new key:

Vous devriez voir une sortie indiquant que la clé a été chargée avec succès.

Successfully loaded private key from 'my-signing-key.pem' with ID '...'

Pour vérifier que la clé a été chargée avec le nom spécifié, vous pouvez lister les clés de votre magasin de clés de confiance Docker en utilisant la commande docker trust key list.

docker trust key list

Vous devriez voir une entrée avec le NOM my-signer et un ID de clé correspondant. Cela confirme que vous avez chargé avec succès la clé privée avec un nom spécifique.

Résumé

Dans ce laboratoire (lab), vous avez appris à préparer un fichier de clé privée pour signer des images Docker en utilisant openssl genrsa. Vous avez ensuite pratiqué le chargement de cette clé privée générée dans le magasin de clés de confiance Docker (Docker trust keystore) en copiant le fichier de clé dans le répertoire ~/.docker/trust/private.