Obtendo informações de um arquivo de chave pública de gpg blindado

21

Quando recebe um arquivo com uma chave pública GnuPG blindada, ou seja, um arquivo ( pubkey.gpg) que foi criado com:

gpg -r 0xDEADBEEF --export --armored > pubkey.gpg

Qual é a melhor maneira de obter informações como a impressão digital nesse arquivo, sem importá-las para o meu chaveiro?

A melhor maneira que encontrei até agora (e não estou feliz com isso) é:

gpg --dry-run --import pubkey.gpg

Naturalmente, visitei a página de manual do gpg, mas não encontrei uma solução óbvia.

Chen Levy
fonte

Respostas:

7

Não sei se o gpg tem uma opção para isso, mas aqui está uma solução mais flexível para extrair informações do arquivo-chave:

mkdir temp-gnupg-dir
export GNUPGHOME=temp-gnupg-dir
gpg --import pubkey.gpg
gpg --list-keys
rm -r temp-gnupg-dir

Em vez da GNUPGHOMEvariável de ambiente, você pode passar --homedir=temp-gnupg-dirpara cada chamada de gpg.

Gilles 'SO- parar de ser mau'
fonte
Isso não é bonito, mas é útil saber quais opções não estão disponíveis e esta é uma solução. Então eu agradeço por isso.
Chen Levy
11
Embora isso funcione, é muito mais complicado do que o necessário. Abaixo, eu publiquei como fazer isso sem nenhuma mudança de importação ou de chaveiro.
Jm3
17

Para imprimir a impressão digital de uma chave blindada no disco sem importá-la, basta usar --with-fingerprint:

> gpg --with-fingerprint jm3.asc

pub  1024R/9112BC51 1996-02-05 john manoogian <jm3@*>
Key fingerprint = C9 DC 27 29 0E 1A DB 50  21 C8 64 08 15 29 41 86

uid                            john manoogian <jm3@foo...
uid                            john manoogian <jm3@bar...
uid                            john manoogian <jm3@baz...
uid                            john manoogian <jm3@qux...

Voilà!

jm3
fonte
Isso criará um diretório gnupg e um chaveiro padrão, caso não exista. A resposta aceita não tem esse efeito colateral.
Etan Reisner
--with-fingerprinté opcional .
X-yuri
11
Isso não funciona mais. Minha versão do gpg é 2.2.5.
Dan Milon
5

Você pode verificar o visualizador de pacotes PGP de Kazu Yamamoto, que exibe o formato de pacote do OpenPGP (RFC 4880) e da versão 2 do PGP (RFC 1991).

Para buscar e compilar:

git clone http://github.com/kazu-yamamoto/pgpdump
cd pgpdump
./configure --prefix=/usr/local/ && make && sudo make install

Usá-lo é ainda mais simples:

pgpdump pubkey.gpg

Há também uma interface cgi-bin disponível neste site: http://www.pgpdump.net/cgi-bin/pgpdump

Claudio Floreani
fonte
11
Isso é incrível! E parabéns a um colega Haskeller Kazu :) A propósito, o pgpdump é empacotado pelo Debian (e possivelmente outras distribuições também), portanto, verifique-o nos repositórios antes de compilá-lo.
Roman Cheplyaka
3
Há uma semelhante ao pgpdump mas não que detalhado saídagpg --list-packets
JSmith