Como eu olho dentro do apt / trusted.gpg?

6

Eu gosto de colocar o conteúdo de /etc dentro do git, então eu posso ver quais atualizações automáticas mudam, e quando algo quebra, então eu posso voltar e descobrir o que eu mudei desde que ele funcionou.

No momento em que me dizem:

modified:   trusted.gpg
modified:   trusted.gpg~

git diff não é usado, pois são arquivos binários. É claro que eu poderia verificá-los, mas esses arquivos são fundamentais para a segurança do pacote, então isso faria com que eu ficasse ridicularizado em minhas tentativas de ser seguro! Então, como descubro o que mudou?

Como root eu tentei:

cd /etc/apt
gpg -k trusted.gpg

(também tentou --list-keys , --list-public-keys ). Diz gpg: error reading key: public key not found .

Tenho certeza que deve ser apenas uma questão de descobrir os parâmetros corretos para dar ao gpg?

    
por Darren Cook 11.07.2013 / 02:46

3 respostas

10

$ apt-key list

A partir dos documentos em secure apt :

  

apt-key é um programa que é usado para gerenciar um chaveiro de chaves gpg para   seguro apt. O chaveiro é mantido no arquivo /etc/apt/trusted.gpg (não   para ser confundido com o relacionado, mas não muito interessante   /etc/apt/trustdb.gpg). O apt-key pode ser usado para mostrar as chaves no   chaveiro e para adicionar ou remover uma chave.

    
por andrewsomething 11.07.2013 / 02:56
2

Me deparei com essa questão enquanto também tentava descobrir como obter informações sobre um arquivo de chave pública usando o GnuPG. Além dos comandos que o Darren tentou, eu também tentei --fingerprint mas recebi a mesma mensagem de erro gpg: error reading key: public key not found .

Depois de descobrir a resposta, pensei em complementar a resposta de Andrew com uma forma mais geral de imprimir informações sobre qualquer arquivo de chave pública:

$ gpg --with-fingerprint /etc/apt/trusted.gpg

pub  1024D/437D05B5 2004-09-12 Ubuntu Archive Automatic Signing Key <[email protected]>
      Key fingerprint = 6302 39CC 130E 1A7F D81A  27B1 4097 6EAF 437D 05B5
sub  2048g/79164387 2004-09-12
pub  4096R/C0B21F32 2012-05-11 Ubuntu Archive Automatic Signing Key (2012) <[email protected]>
      Key fingerprint = 790B C727 7767 219C 42C8  6F93 3B4F E6AC C0B2 1F32
pub  4096R/EFE21092 2012-05-11 Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>
      Key fingerprint = 8439 38DF 228D 22F7 B374  2BC0 D94A A3F0 EFE2 1092
pub  1024D/FBB75451 2004-12-30 Ubuntu CD Image Automatic Signing Key <[email protected]>
      Key fingerprint = C598 6B4F 1257 FFA8 6632  CBA7 4618 1433 FBB7 5451

Como pode ser visto, o acima lista as mesmas informações que a saída de apt-key list - embora a formatação de apt-key seja muito mais legível.

A página gpg man apenas declara que a opção --with-fingerprint deve ser “Igual ao comando --fingerprint ”, mas (com GnuPG 1.4.20), também lista impressões digitais quando um nome de arquivo é fornecido em vez de um ID da chave. Como mostra o exemplo acima, essa opção também pode ser usada para imprimir as impressões digitais de um anel público contendo várias chaves.

    
por Anthony Geoghegan 06.02.2017 / 22:54
0

Se você estiver usando gpg -k --keyring <file> , certifique-se de especificar o caminho do arquivo, caso contrário, o gpg assumirá que <file> está localizado em ~/.gnupg/ , mesmo que exista no diretório atual!

O seguinte não funcionará como esperado:

cd /etc/apt
gpg -k --no-default-keyring --keyring trusted.gpg

Em vez disso:

cd /etc/apt
gpg -k --no-default-keyring --keyring ./trusted.gpg
    
por catanman 27.07.2017 / 19:01

Tags