4.2. Assinaturas Digitais para os pacotes do Red Hat Network
Todos os pacotes distribuídos através da Red Hat Network devem ter uma assinatura digital. Esta é criada através de uma chave privada única e pode ser verificada com sua chave pública correspondente. Após criar um pacote, o SRPM (Source RPM ou RPM Fonte) e o RPM podem ser assinados digitalmente com uma chave GnuPG. Antes do pacote ser instalado, a chave pública é usada para verificar se o pacote foi assinado por uma entidade confiável e se não foi alterado desde que foi assinado.
4.2.1. Gerando um Par de Chaves GnuPG Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
O par de chaves GnuPG consiste de chaves privadas e públicas.
- Digite o seguinte comando como usuário root na solicitação do terminal:
gpg --gen-keyO Keypairs GPG não deve ser criado por usuários que não sejam usuários root. Este usuário pode bloquear páginas de memória, assim as informações nunca são salvas no disco. - Após executar o comando para gerar um conjunto de chaves, você vê uma tela introdutória contendo opções da chave, similar a:
gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection? - Escolha a opção: (2) DSA and ElGamal. Esta permite criar uma assinatura digital e criptografar/descriptografar com dois tipos de tecnologias. Digite
2e então pressione Enter. - Em seguida, escolha a extensão da chave. Quanto mais longa sua chave, mais resistente a ataques você estará. É recomendado criar uma chave de, no mínimo, 2048 bits.
- A próxima opção pede a você especificar o período de validade de sua chave. Se escolher uma data de expiração, lembre-se que todos usando sua chave pública também devem ser informados sobre sua expiração e receber uma nova chave pública. É recomendado não selecionar uma data de expiração. Em seguida, você precisa confirmar sua decisão:
A chave não irá expirar nunca. Está correto (y/n)? - Pressione y para confirmar sua decisão.
- Sua próxima tarefa é prover um ID de usuário contendo seu nome, e-mail, endereço e comentário opcional. Cada um é solicitado separadamente. Ao terminar, você verá um sumário das informações indicadas.
- Após aceitar suas escolhas, indique uma senha.
Nota
Assim como as senhas de suas contas, esta senha é essencial para a mais alta segurança na GnuPG. Componha sua senha com letras em caixa alta e baixa, use números e/ou inclua pontuações. - Após indicar e verificar sua senha, suas chaves são geradas. Aparece uma mensagem parecida com:
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy. +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++. ++++++++++++++++++++++++++++++++++++++..........................++++Quando a atividade das telas terminar, suas chaves novas são colocadas no diretório.gnupgdentro do diretório home do usuário root. Este é um local padrão de chaves geradas pelo usuário root.
Para listar as chaves root, use o comando:
gpg --list-keys
O output é similar a:
gpg: key D97D1329 marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 3 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: next trustdb check due at 2013-08-28
pub 2048D/D97D1329 2013-08-27 [expires: 2013-08-28]
Key fingerprint = 29C7 2D2A 5F9B 7FF7 6411 A9E7 DE3E 5D0F D97D 1329
uid Your Name<you@example.com>
sub 2048g/0BE0820D 2013-08-27 [expires: 2013-08-28]
Para obter sua chave pública, use o seguinte comando:
gpg --export -a 'Your Name' > public_key.txt
Sua chave pública é gravada no arquivo
public_key.txt.
Esta chave pública é muito importante. É a chave que deve ser empregada em todos os sistemas cliente que recebem software personalizado através do
yum. As técnicas para empregar esta chave numa empresa inteira são cobertas no Guia de Configuração do Cliente Red Hat Network.