Introdução
Neste laboratório, você aprenderá como carregar uma chave de assinatura no keystore de confiança do Docker usando o comando docker trust key load. Você começará preparando um arquivo de chave privada para assinar imagens Docker usando openssl.
Após a geração da chave, você carregará essa chave privada no keystore de confiança do Docker, que é um local seguro para chaves criptográficas. Por fim, você explorará como carregar a chave privada com um nome específico dentro do keystore.
Preparar um arquivo de chave privada para assinatura
Nesta etapa, você aprenderá como preparar um arquivo de chave privada para assinar imagens Docker. O Docker Content Trust usa chaves criptográficas para verificar a integridade e autenticidade das imagens. Uma chave privada é essencial para assinar imagens, enquanto a chave pública correspondente é usada por outros para verificar a assinatura.
Primeiro, navegue até o diretório ~/project, que é seu diretório de trabalho para este laboratório.
cd ~/project
Agora, gere uma nova chave privada RSA usando o comando openssl. Este comando criará uma chave privada de 4096 bits e a salvará em um arquivo chamado my-signing-key.pem no seu diretório atual.
openssl genrsa -out my-signing-key.pem 4096
Você verá uma saída indicando o processo de geração da chave. Este comando gera uma chave privada no formato PEM.
Em seguida, vamos verificar se o arquivo my-signing-key.pem foi criado no seu diretório ~/project.
ls -l my-signing-key.pem
Você deve ver o arquivo listado com suas permissões, proprietário, grupo, tamanho e tempo de modificação. Isso confirma que o arquivo de chave privada foi gerado com sucesso.
Carregar a chave privada no keystore de confiança do Docker
Nesta etapa, você carregará a chave privada que gerou na etapa anterior no keystore de confiança do Docker. O keystore de confiança do Docker é um local seguro onde o Docker armazena chaves criptográficas usadas para assinar e verificar imagens.
O keystore de confiança do Docker está localizado no diretório ~/.docker/trust/private. Você precisa copiar o arquivo de chave privada que você criou (my-signing-key.pem) para este diretório.
Primeiro, certifique-se de estar no diretório ~/project onde você criou a chave privada.
cd ~/project
Agora, copie o arquivo my-signing-key.pem para o diretório de chaves privadas de confiança do Docker. Pode ser necessário criar o diretório se ele não existir.
mkdir -p ~/.docker/trust/private
cp my-signing-key.pem ~/.docker/trust/private/
O comando mkdir -p cria o diretório e quaisquer diretórios pai necessários, se eles ainda não existirem. O comando cp copia o arquivo de chave privada.
Após copiar o arquivo, você pode verificar se a chave privada agora está no keystore de confiança do Docker listando o conteúdo do diretório ~/.docker/trust/private.
ls ~/.docker/trust/private/
Você deve ver my-signing-key.pem listado na saída. Isso confirma que a chave privada foi carregada com sucesso no keystore de confiança do Docker.
Carregar a chave privada com um nome específico
Nesta etapa, você aprenderá como carregar uma chave privada no keystore de confiança do Docker com um nome específico. Embora você possa simplesmente copiar o arquivo de chave como fez na etapa anterior, o uso do comando docker trust key load permite associar um nome específico à chave dentro do sistema de confiança do Docker. Isso pode ser útil para gerenciar várias chaves de assinatura.
Primeiro, certifique-se de estar no diretório ~/project onde você criou o arquivo de chave privada my-signing-key.pem.
cd ~/project
Agora, use o comando docker trust key load para carregar a chave privada. Você será solicitado a inserir um nome para a chave. Vamos nomear esta chave my-signer.
docker trust key load my-signing-key.pem --name my-signer
Quando solicitado, insira my-signer como o nome da chave.
Loading key from 'my-signing-key.pem'...
Enter name for new key: my-signer
Após inserir o nome, você será solicitado a inserir uma senha para a nova chave. Para este laboratório, você pode deixar a senha em branco, apenas pressionando Enter. Em um cenário do mundo real, é altamente recomendável usar uma senha forte para proteger sua chave privada.
Enter passphrase for new key:
Repeat passphrase for new key:
Você deve ver uma saída indicando que a chave foi carregada com sucesso.
Successfully loaded private key from 'my-signing-key.pem' with ID '...'
Para verificar se a chave foi carregada com o nome especificado, você pode listar as chaves no seu keystore de confiança do Docker usando o comando docker trust key list.
docker trust key list
Você deve ver uma entrada com o NAME my-signer e um KEY ID correspondente. Isso confirma que você carregou com sucesso a chave privada com um nome específico.
Resumo
Neste laboratório, você aprendeu como preparar um arquivo de chave privada para assinar imagens Docker usando openssl genrsa. Em seguida, você praticou o carregamento desta chave privada gerada no keystore de confiança do Docker, copiando o arquivo de chave para o diretório ~/.docker/trust/private.



