Cómo usar el comando docker trust key load para cargar una clave de firma

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo cargar una clave de firma en el almacén de claves de confianza de Docker utilizando el comando docker trust key load. Comenzará preparando un archivo de clave privada para firmar imágenes de Docker utilizando openssl.

Después de generar la clave, cargará esta clave privada en el almacén de claves de confianza de Docker, que es un lugar seguro para las claves criptográficas. Finalmente, explorará cómo cargar la clave privada con un nombre específico dentro del almacén de claves.


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{{"Cómo usar el comando docker trust key load para cargar una clave de firma"}} docker/images -.-> lab-555253{{"Cómo usar el comando docker trust key load para cargar una clave de firma"}} docker/cp -.-> lab-555253{{"Cómo usar el comando docker trust key load para cargar una clave de firma"}} end

Preparar un archivo de clave privada para la firma

En este paso, aprenderá cómo preparar un archivo de clave privada para firmar imágenes de Docker. Docker Content Trust (Confianza en el contenido de Docker) utiliza claves criptográficas para verificar la integridad y autenticidad de las imágenes. Una clave privada es esencial para firmar imágenes, mientras que la clave pública correspondiente se utiliza para que otros verifiquen la firma.

Primero, navegue al directorio ~/project, que es su directorio de trabajo para este laboratorio.

cd ~/project

Ahora, genere una nueva clave privada RSA utilizando el comando openssl. Este comando creará una clave privada de 4096 bits y la guardará en un archivo llamado my-signing-key.pem en su directorio actual.

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

Verá una salida que indica el proceso de generación de la clave. Este comando genera una clave privada en formato PEM.

A continuación, verifiquemos que el archivo my-signing-key.pem se haya creado en su directorio ~/project.

ls -l my-signing-key.pem

Debería ver el archivo enumerado con sus permisos, propietario, grupo, tamaño y fecha de modificación. Esto confirma que el archivo de clave privada se ha generado correctamente.

Cargar la clave privada en el almacén de claves de confianza de Docker

En este paso, cargará la clave privada que generó en el paso anterior en el almacén de claves de confianza de Docker. El almacén de claves de confianza de Docker es un lugar seguro donde Docker almacena las claves criptográficas utilizadas para firmar y verificar imágenes.

El almacén de claves de confianza de Docker se encuentra en el directorio ~/.docker/trust/private. Debe copiar el archivo de clave privada que creó (my-signing-key.pem) en este directorio.

Primero, asegúrese de estar en el directorio ~/project donde creó la clave privada.

cd ~/project

Ahora, copie el archivo my-signing-key.pem al directorio de claves privadas de confianza de Docker. Es posible que deba crear el directorio si no existe.

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

El comando mkdir -p crea el directorio y cualquier directorio padre necesario si no existen. El comando cp copia el archivo de clave privada.

Después de copiar el archivo, puede verificar que la clave privada ahora está en el almacén de claves de confianza de Docker listando el contenido del directorio ~/.docker/trust/private.

ls ~/.docker/trust/private/

Debería ver my-signing-key.pem en la salida. Esto confirma que la clave privada se ha cargado correctamente en el almacén de claves de confianza de Docker.

Cargar la clave privada con un nombre específico

En este paso, aprenderá cómo cargar una clave privada en el almacén de claves de confianza de Docker con un nombre específico. Si bien puede simplemente copiar el archivo de clave como hizo en el paso anterior, el uso del comando docker trust key load le permite asociar un nombre específico a la clave dentro del sistema de confianza de Docker. Esto puede ser útil para administrar múltiples claves de firma.

Primero, asegúrese de estar en el directorio ~/project donde creó el archivo de clave privada my-signing-key.pem.

cd ~/project

Ahora, utilice el comando docker trust key load para cargar la clave privada. Se le pedirá que ingrese un nombre para la clave. Nombrémosle my-signer a esta clave.

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

Cuando se le solicite, ingrese my-signer como nombre para la clave.

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

Después de ingresar el nombre, se le pedirá que ingrese una contraseña para la nueva clave. Para este laboratorio, puede dejar la contraseña en blanco simplemente presionando Enter. En un escenario del mundo real, se recomienda encarecidamente utilizar una contraseña segura para proteger su clave privada.

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

Debería ver una salida que indique que la clave se ha cargado correctamente.

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

Para verificar que la clave se ha cargado con el nombre especificado, puede listar las claves en su almacén de claves de confianza de Docker utilizando el comando docker trust key list.

docker trust key list

Debería ver una entrada con el NOMBRE my-signer y un ID de clave correspondiente. Esto confirma que ha cargado correctamente la clave privada con un nombre específico.

Resumen

En este laboratorio, aprendiste cómo preparar un archivo de clave privada para firmar imágenes de Docker utilizando openssl genrsa. Luego, practicaste la carga de esta clave privada generada en el almacén de claves de confianza de Docker copiando el archivo de clave al directorio ~/.docker/trust/private.